O limits.conf é um instrumento muito brusco para o que você está tentando fazer.
cgroups irá definir limites e fornecer contabilidade para você, mas a documentação é um pouco obtuso! link
Existe um arquivo de log que registra informações quando os valores definidos em /etc/security/limits.conf
são excedidos?
Se os valores forem muito restritos no arquivo acima, os clientes que usam o site hospedado no servidor veem erros como [FATAL] failed to allocate memory
. Mas eu não vou me intimidar sobre isso. Então, há um log?
Se não existe uma maneira de fazer log quando os valores são excedidos?
O limits.conf é um instrumento muito brusco para o que você está tentando fazer.
cgroups irá definir limites e fornecer contabilidade para você, mas a documentação é um pouco obtuso! link
Is there a log file that logs information when the values set in /etc/security/limits.conf are exceeded?
Não.
Todos esses valores são usados para processar limites de recursos ( man setrlimit
) e, quando eles se encontram, não há mecanismo universal para emitir um aviso a ser registrado.
se o seu problema for sobre alocação de memória com falha, você também pode usar esse script para monitorar a porcentagem de memória livre restante
#!/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
salve-o no arquivo de script (ex. memmon.sh) e adicione ao crontab ele enviará e-mail e gravará o arquivo de log quando detectar a memória livre baixa como condicionada)
# Ex. monitor every 3 min.
*/3 * * * * /home/user/memmon.sh >> /home/user/memmon.log