|
Не удалось получить анонимную разделяемую память: Невозможно выделить память
|
|||
---|---|---|---|
#18+
Добрый день. Столкнулся с необычной ошибкой. Конфигурация postgresql 9.6: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
Сервер имеет 8gb оперативной памяти. Реально подключений будет всего 10, не больше, но для эксперимента поставил max_connections=1000. Также имеется swap размером 50 gb, но для эксперимента его отключил командой swapoff -a. При попытке запустить службу postgresql: sudo service postgresql-9.6 start получаю в лог такое сообщение: Код: sql 1. 2. 3.
Не могу никак понять каким образом получается цифра 18256445440 Б. Интересно, что уменьшив max_connections до 100, такой ошибки не получаю. Насколько я знаю память для shared_buffers выделяется при запуске основного процесса, а max_connections уже влияет на количество подключений при дальнейшем использовании. При включенном swapon -a ошибка не появляется. Причем память ни в swap ни оперативная не занята вообще. Подскажите пожалуйста что я мог упустить? Почему max_connection может влиять на запуск службы? Не знаю, важно ли, но приведу настройки ядра sudo sysctl -a | grep kernel.sh: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2018, 08:46 |
|
Не удалось получить анонимную разделяемую память: Невозможно выделить память
|
|||
---|---|---|---|
#18+
Visermoz, Потребный объём разделямой памяти для старта - это не только shared_buffers, а ещё куча всего нужного . Каждый max_connections тоже имеет свою цену в требуемом объёме shared памяти. Кстати, ваши очень сильно задранные вверх max_locks_per_transaction тоже живут в shared memory и умножаются на число коннектов (см. LockShmemSize() ). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2018, 11:58 |
|
Не удалось получить анонимную разделяемую память: Невозможно выделить память
|
|||
---|---|---|---|
#18+
MelkijVisermoz, Кстати, ваши очень сильно задранные вверх max_locks_per_transaction а у них 100500 таблиц партицированных по дням и часам. например. вот в итоге и набегает 40 000 братьев == партиций 2ТС этот параметр, если я правильно помню , нужно крутить только для шибко развесистых баз. это число локов "объектов"(грубо - таблиц и т.п.) запросом , а не записей. https://postgrespro.ru/docs/postgrespro/9.6/runtime-config-locks ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2018, 13:00 |
|
|
start [/forum/topic.php?fid=53&tid=1995688]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
others: | 299ms |
total: | 426ms |
0 / 0 |