Registro cuando el límite excede

Registro cuando el límite excede

¿Existe un archivo de registro que registra información cuando se exceden los valores establecidos /etc/security/limits.conf?

Si los valores son demasiado ajustados en el archivo anterior, los clientes que utilizan el sitio web alojado en el servidor verán errores como [FATAL] failed to allocate memory. Pero no me dejaré intimidar por eso. Entonces, ¿hay un registro?

Si no, ¿hay alguna manera de hacer que se registre cuando se exceden los valores?

Respuesta1

limits.conf es un instrumento demasiado contundente para lo que estás intentando hacer.

cgroups establecerá límites y le brindará contabilidad, ¡pero la documentación es un poco obtusa!https://www.kernel.org/doc/Documentation/cgroups/memory.txt

Respuesta2

¿Existe un archivo de registro que registre información cuando se excedan los valores establecidos en /etc/security/limits.conf?

No.

Todos esos valores finalmente procesan los límites de recursos ( man setrlimit) y cuando se cumplen, no existe un mecanismo universal para emitir una advertencia para que se registren.

Respuesta3

Si su problema es acerca de la asignación de memoria fallida, también puede usar este script para monitorear el porcentaje de memoria libre 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

guárdelo en un archivo de secuencia de comandos (por ejemplo, memmon.sh) y agréguelo a crontab; enviará un correo electrónico y escribirá un archivo de registro cuando detecte que hay poca memoria libre según lo condicionado)

# Ex. monitor every 3 min.
*/3 * * * * /home/user/memmon.sh >> /home/user/memmon.log

información relacionada