из-за прихода oom т.к. кончалась память.
Включил huge_pages - помогло, но не надолго, проблема вернулась позже с ростом нагрузки.
Выставил vm.overcommit_memory=2 и vm.overcommit_ratio=100. Oom теперь не убивает процесс, но по достижению загрузки оперативки до максимума базе начинает выдавать ошибки о нехватке памяти и не даёт создавать новые процессы.
Это типичное поведение или я что то забыл донастроить?
Память не должна кончатся. Это не нормальная ситуация. Скорее всего у вас Постгрес не правильно сконфигурирован: слишком много памяти выделено под shared_buffers или workmem
Выделено 25% памяти под shared_buffers, что скорее всего много. work_mem не большой 20mb, при 90гб памяти.
Поведение типичное и правильное. Вы теперь смотрите на эти ошибки в логах — там будет информация о том, какие запросы их вызывают. Как раз если бы Вы так не настроили, Вы бы не могли этого узнать — сервер postgres бы просто падал без объяснений причин.
Обсуждают сегодня