Permite visualizar o limitar los recursos del sistema.
# ulimit -f 512000
$ ulimit -a
$ ulimit -n
$ ulimit -SHn
$ ulimit -Sn 10000
Parámetros:
core (Tamaño máximo de los ficheros core [KB])
data (Tamaño máximo para el segmento de datos [KB])
fsize (Tamaño máximo para los ficheros [KB])
memlock (Tamaño máximo para el espacio de direcciones bloqueado en memoria [KB])
nofile (Número máximo de ficheros abiertos)
rss (Tamaño máximo del conjunto residente en memoria [KB])
stack (Tamaño máximo para la pila [KB])
cpu (Tiempo máximo de CPU [minutos])
nproc (Número máximo de procesos)
as (Límite en el espacio de direcciones)
maxlogins (Número máximo de logins)
priority (Prioridad de base para los procesos del usuario)
locks (Número máximo de ficheros bloqueados que el usuario puede mantener)
Nota.- El ámbito de aplicación del límite puede ser un nombre de usuario, un grupo (@grupo) o todos (*)
Un ejemplo de limit.conf:
* soft nproc 10000
* hard nproc 4096
* soft core unlimited
* hard core unlimited
* soft memlock 131072
* hard memlock 131072
* soft nofile 102400
* hard nofile 102400
1.-
Evitar Forkboms [programas que consumen la totalidad de los recursos del sistema]
Si al lanzar el comando:
$ ulimit -u
El resultado es “ilimitado” o un valor extremadamente alto, podemos ser victimas de los forkbombs. Para resolverlo podemos limitar el número de procesos abiertos a 1000 para que estos no puedan llegar a colapsar el sistema:
# gedit /etc/security/limits.conf
Añadir antes de “End of file”: * hard nproc 1000
Reiniciar
2.-
En ciertas ocasiones, al procesar muchos archivos, se produce un error "for output (Too many open files)" porque se desborda el limite de 1024 k. Para solucionarlo:
# nano /etc/security/limits.conf
Y añadir las siguientes lineas:
* soft nofile 9000
* hard nofile 65000
Los asteriscos pueden sustituirse por el nombre de usuario.
3.-
Limitar la cantidad de usuarios conectados al sistema:
# nano /etc/security/limits.conf
Y en el parámetro maxlogins modificamos el número que deseemos:
* - maxlogins 3