Является ли значение 18446744073692774399 нормальным для kernel.shmmax?
Контекст: веб-сервер, размещенный в DigitalOcean, с базой данных PostgreSQL.
По неизвестным причинам у нас периодически возникали сбои базы данных. В конце концов я обнаружил ошибочный запрос, который перегружал систему, и почти уверен, что проблема именно в этом.
Однако, изучая сбои Postgres, я наткнулся на сообщение , в котором упоминалась настройка системы.kernel.shmmax
потому что это связано с настройкой postgresshared_buffer
.
Оказывается, когда я бегуcat /proc/sys/kernel/shmmax
его значение18446744073692774399
! Понятия не имею, почему, но это кажется безумием.
В любом случае, почему это значение может быть таким большим и каким оно должно быть?
Использование памяти в нашем дроплете (всего 16 ГБ) раньше составляло около 87%. После моего исправления запроса при перезапуске сервера он оставался ниже примерно 47% и со временем вернулся примерно к 84% через несколько часов. Системного администратора нет, но я предположил, что здесь может быть задействовано высокое значение sshmax?
Другие соответствующие настройки postgres:
shared_buffers = 4GB
max_connections = 300
max_wal_size = 2GB
checkpoint_timeout = 15min
checkpoint_timeout = 15min
checkpoint_completion_target = 0.9
Мой вопрос касается высокого значения shmmax и того, как оно может быть связано с неверными настройками postgres и почему использование памяти так возрастает.