Назад | Перейти на главную страницу

Ведение журнала при превышении лимита

Есть ли файл журнала, в котором записывается информация, когда значения, установленные в /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