Size: a a a

pgsql – PostgreSQL

2020 July 22

N

Nik in pgsql – PostgreSQL
Nik
тащу как раз
и я снова начал умирать от oom киллера.

2 ядра 12 гигов рамы. Для запаса - делаю конфиг калькулятором под 8 гигов калькулятором.

https://pgtune.leopard.in.ua/#/

max_connections = 100
shared_buffers = 2GB
effective_cache_size = 6GB
maintenance_work_mem = 512MB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 10485kB
min_wal_size = 1GB
max_wal_size = 4GB
max_worker_processes = 2
max_parallel_workers_per_gather = 1
max_parallel_workers = 2
max_parallel_maintenance_workers = 1


И база растет до 11,5 Гб и приходит оом киллер.
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Надо просто посмотреть чем озадачен рабочий процесс, жрущий память.
Пока он не прибит ещё :)
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Nik
и я снова начал умирать от oom киллера.

2 ядра 12 гигов рамы. Для запаса - делаю конфиг калькулятором под 8 гигов калькулятором.

https://pgtune.leopard.in.ua/#/

max_connections = 100
shared_buffers = 2GB
effective_cache_size = 6GB
maintenance_work_mem = 512MB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 10485kB
min_wal_size = 1GB
max_wal_size = 4GB
max_worker_processes = 2
max_parallel_workers_per_gather = 1
max_parallel_workers = 2
max_parallel_maintenance_workers = 1


И база растет до 11,5 Гб и приходит оом киллер.
Ага, а я же говорил! ;)
Не избавитесь Вы от OOM kills "кручением" настроек PostgreSQL. Про то, как на самом деле избавиться, я ссылку давал.
Ну а ошибку Вам удалось воспроизвести (не OOM kill, а именно ошибку out of memory, которую Вы сегодня показывали)?
источник

N

Nik in pgsql – PostgreSQL
Yaroslav Schekin
Ага, а я же говорил! ;)
Не избавитесь Вы от OOM kills "кручением" настроек PostgreSQL. Про то, как на самом деле избавиться, я ссылку давал.
Ну а ошибку Вам удалось воспроизвести (не OOM kill, а именно ошибку out of memory, которую Вы сегодня показывали)?
If PostgreSQL itself is the cause of the system running out of memory, you can avoid the problem by changing your configuration
источник

N

Nik in pgsql – PostgreSQL
out of memory пока нет - кручу ручки на конфигк
источник

N

Nik in pgsql – PostgreSQL
на серваке кроме постгреса никого. и памяти с запасом (оносительно генерированного конфига)
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Nik
и я снова начал умирать от oom киллера.

2 ядра 12 гигов рамы. Для запаса - делаю конфиг калькулятором под 8 гигов калькулятором.

https://pgtune.leopard.in.ua/#/

max_connections = 100
shared_buffers = 2GB
effective_cache_size = 6GB
maintenance_work_mem = 512MB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 10485kB
min_wal_size = 1GB
max_wal_size = 4GB
max_worker_processes = 2
max_parallel_workers_per_gather = 1
max_parallel_workers = 2
max_parallel_maintenance_workers = 1


И база растет до 11,5 Гб и приходит оом киллер.
в логах будет написано что делала сессия, которую убили.
источник

N

Nik in pgsql – PostgreSQL
ща
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Nik
If PostgreSQL itself is the cause of the system running out of memory, you can avoid the problem by changing your configuration
If. ;)
Опять-таки, почему не устранить проблему полностью? OOM kills у Вас не должно быть, да и всё.

> out of memory пока нет - кручу ручки на конфигк

Подождите, а что есть? Опять OOM killer убивает процесс, и сервер PostgreSQL падает?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
у вас всего 2 ядра, которые должны как-то обслуживать 100 подключений и, потенциально, 100 одновременных запросов. при этом ещё есть и фоновые процессы, и вы ещё паралельность включаете
источник

N

Nik in pgsql – PostgreSQL
Yaroslav Schekin
If. ;)
Опять-таки, почему не устранить проблему полностью? OOM kills у Вас не должно быть, да и всё.

> out of memory пока нет - кручу ручки на конфигк

Подождите, а что есть? Опять OOM killer убивает процесс, и сервер PostgreSQL падает?
источник

N

Nik in pgsql – PostgreSQL
сервер не падает, а у ходит в рековери мод
источник

N

Nik in pgsql – PostgreSQL
Victor Yegorov
у вас всего 2 ядра, которые должны как-то обслуживать 100 подключений и, потенциально, 100 одновременных запросов. при этом ещё есть и фоновые процессы, и вы ещё паралельность включаете
так там проц бамкбук курил, la в порядке.
источник

c

cooler in pgsql – PostgreSQL
Его может таймер рестартит, оом приходит от нехватки озу.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Nik
сервер не падает, а у ходит в рековери мод
Это и есть т.н. падение. И да, это OOM kill. Устраните их, сколько на это можно смотреть?! ;)
источник

N

Nik in pgsql – PostgreSQL
cooler
Его может таймер рестартит, оом приходит от нехватки озу.
вот да. потому что рама  приходит в предел.
источник

N

Nik in pgsql – PostgreSQL
я не понимаю как ограничить постгрес по памяти.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Nik
я не понимаю как ограничить постгрес по памяти.
О-хо-хо. И ещё раз https://www.postgresql.org/docs/current/kernel-resources.html#LINUX-MEMORY-OVERCOMMIT
Прочитайте до конца, выполните рекомендации.
источник

VY

Victor Yegorov in pgsql – PostgreSQL
что показывает free -m на сервере?
источник

c

cooler in pgsql – PostgreSQL
https://www.percona.com/blog/2019/08/02/out-of-memory-killer-or-savior/, можно сказать оому не трогать постгрес, но правильней конечно настроить постгрес так чтоы он не выедал всю память.
источник