>дайте еще iostat
Да он аналогичен выше приведённому...
>судя по всему, у вас постгря жестко пользует HDD.
>посмотрите, у вас 1Гб памяти свободен - отдайте его постгре
>у вас стоит в postgresql.conf
Покажите, почему вы решили, что всё упёрлось в HDD?
Я вижу другую картину:
по vmstat много процессов (b), заблокированных в ожидании ресурсов и суда по топу - ждёт выделения семафоров:
1931 pgsql -4 0 40124K 29744K semwai 2 0:08 0.20% 0.20% postgres
ещё в sysctl.conf указан:kern.ipc.shm_use_phys=1 - не сбрасывать разделяемую память на диск.
>sort_mem = 4096 (4Мб для все операций типа ORDER BY и JOIN,
>но аккуратней - это для каждой операции для каждого коннекта)
>effective_cache_size = 20000 (160Мб при 2Гб памяти и базе 17Гб!!??)
>
>посмотрите, что за запросы такие идут, что шерстят весь диск - может
>у вас банально индексы неэффективны.
>Потом - VACCUM регулярный?
вакуум раз в сутки, с индексами порядок.
>еще
>max_connections = 500
>зачем так много?
Собирает он у меня статистику. И её в последнее время всё больше и больше. Судьба у него такая, обрабатывать коннект с 2мя селектами и 2мя апдейтами.
260 коннектов - это уже моё ограничение.
>считайте, каждый активеый коннект борется за ресуры - диск(!), память, процессор. и
>плюс оверхед на переключение между процессами.
>отсюда и ps -ax| grep postmast | wc -l
> 260
>
>еще смотрите сюда:
>http://www.varlena.com/GeneralBits/Tidbits/annotated_conf_e....
>http://www.varlena.com/GeneralBits/Tidbits/perf.html
>
>И подумайте о переходе с 7.4 на 8.2