Есть ли файл журнала, в котором записывается информация, когда значения, установленные в /etc/security/limits.conf
превышены?
Если значения в приведенном выше файле слишком малы, клиенты, использующие веб-сайт, размещенный на сервере, видят такие ошибки, как [FATAL] failed to allocate memory
. Но меня это не пугает. Так есть журнал?
Если нет, есть ли способ записать его в журнал при превышении значений?
limits.conf - слишком грубый инструмент для того, что вы пытаетесь сделать.
cgroups установит ограничения и предоставит вам отчет, но документация немного тупая! https://www.kernel.org/doc/Documentation/cgroups/memory.txt
Есть ли файл журнала, в котором записывается информация о превышении значений, установленных в /etc/security/limits.conf?
Нет.
Все эти значения, наконец, достигают пределов ресурсов процесса (man setrlimit
), и когда они встретились, не существует универсального механизма для выдачи предупреждения для регистрации.
если ваша проблема связана с выделением памяти, вы также можете использовать этот скрипт для отслеживания процента оставшейся свободной памяти
#!/bin/bash
# you can adjust 0.20 meaning 20% to percentage of memory free you want
output=$(free | grep "Swap" | awk '{if (($4/$2) < 0.20) print "memory low"}')
if [[ "$output" != "" ]]; then
echo "..." | mail -s "Memory low on <host>" <monitoring email>
fi
сохраните его в файл сценария (например, memmon.sh) и добавьте в crontab, он отправит электронное письмо и запишет файл журнала при обнаружении нехватки свободной памяти как условное)
# Ex. monitor every 3 min.
*/3 * * * * /home/user/memmon.sh >> /home/user/memmon.log