Suele pasar que en un server al que acceden varios usuarios, uno de ellos lance un proceso que haga por ejemplo cientos de forks y empiece a reservar memoria como un loco, y deje al server completamente congelado.
Una aproximación para evitar o al menos aliviar las consecuencias es usar ‘ulimit’ (help ulimit). Mediante ‘ulimit’ podemos limitar o poner cuotas a determinados recursos a los usuarios que queramos. Se puede limitar por ejemplo el número de procesos por usuario y la cantidad de memoria virtual por proceso que puede reservar dicho usuario. El archivo de config es ‘/etc/security/limits.conf’. En mi caso, me fué util modificar estas dos variables que he comentado: número de procesos y cantidad de memoria por proceso:

En este ejemplo limito a 14 procesos y 120MB de memoria por proceso. El segundo campo indica el tipo de límite que se está aplicando. Si es ‘soft’, el usuario puede ampliar ese valor con el comando ‘ulimit’. Si es ‘hard’, no puede hacerlo.
Hay una alternativa muy interesante pero que no he probado, cgroups: http://en.wikipedia.org/wiki/Cgroups

Evitar la sobrecarga en un sistema Linux

Deja un comentario

Tu dirección de correo electrónico no será publicada.