Los shells como bash/csh/ksh son responsables de proporcionar al usuario control sobre varios recursos del sistema. Estos tienen limitado el uso de recursos para evitar que un solo usuario se coma todos los recursos. La manera de limitar estos recursos es a través de los límites soft, hard y wide
Estos son los límites
Options Explanation
-a All current limits are reported
-b The maximum socket buffer size
-c The maximum size of core files created
-d The maximum size of a process data segment
-e The maximum scheduling priority (“nice”)
-f The maximum size of files written by the shell and its children
-i The maximum number of pending signals
-l The maximum size that may be locked into memory
-m The maximum resident set size (many systems do not honor this limit)
-n The maximum number of open file descriptors (most systems do not allow this value to be set)
-p The pipe size in 512-byte blocks (this may not be set)
-q The maximum number of bytes in POSIX message queues
-r The maximum real-time scheduling priority
-s The maximum stack size
-t The maximum amount of cpu time in seconds
-u The maximum number of processes available to a single user
-v The maximum amount of virtual memory available to the shell
-x The maximum number of file locks
-t The maximum number of threads
- Cómo ver los soft límites del Shell para el usuario?
ulimit -Sa
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 66560
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 66560
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
- Cómo ver los hard límites del Shell para el usuario?
ulimit -Ha
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 66560
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) 66560
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Un cliente puede cambiar sus limites soft hasta llegar al valor que tiene los hard limits. Los hard limits solo se pueden cambiar por root, Siendo un usuario normal se pueden reducir los hard límites pero no aumentarlos.
Para editar los hard limits de los usuarios se debe editar el fichero
“/etc/security/limits.conf” .
Un ejemplo de fichero
Después de codificarlo el usuario debe reconectarse para ver los cambios.
Para modificar los límites a nivel de sistema, se debe modificar /etc/sysctl.conf
Debemos modificar el fichero y recargar la configuración:
#sysctl- p