У меня есть VPS с 9 ГБ оперативной памяти, 300 ГБ HDD, 3 ГБ подкачки, 7 ядер. ОС CentOS 5.7 Final.
У меня на компьютере запущен postgres9.0 с правильной настройкой (по крайней мере, из книги / вики PostgreSQL).
В большинстве случаев происходит, когда выполняется какой-то сложный запрос (под сложным, я имею в виду, выберите максимум с 3-мя объединениями), хотя ~ 75% моей оперативной памяти не используется, происходит обмен ~ 99%.
РЕДАКТИРОВАТЬ: свободная оперативная память, о которой я здесь говорю, рассчитывается по формуле (free + buffered + cached). Фактически свободная оперативная память, показанная 'free -m', едва ли составляет ~ 2%. Так что поправьте меня, если я здесь не прав.
Кроме того, это приводит к тому, что мой дисковый ввод-вывод искажается до 100% и замедляет все остальное. (Я склонен полагать, что что-то не так с моим диском.)
Я не понимаю причину такого большого количества обмена. Это из-за переключения контекста ?? Большую часть времени мои процессоры простаивают, а время ожидания ввода-вывода увеличивается до 30% во время выбора.
Был бы признателен, если некоторые могут пролить свет на это.
Благодарю.