Respuestas:
El comando ulimit es un comando incorporado que utiliza las funciones C descritas por man: su propia ayuda se incluye en la página de manual de Bash, accesible con man bash
.
Puede enumerar todas las opciones disponibles con ulimit -h
, y ver su significado correspondiente utilizando ulimit -a
la lista de todos los tipos de limitaciones disponibles y sus valores actuales, dependiendo de su sistema:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 20
file size (blocks, -f) unlimited
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
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) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
ulimit
tiene que ser un shell incorporado ya que el límite que establece se aplica tanto al shell como a los programas que inicia. El único argumento portátil es -f
(límite de tamaño de archivo, en unidades de 512 bytes). La mayoría de los shells tienen más opciones, deberá verificar la documentación del shell para saber exactamente cuáles son. Con shells portátiles como bash y ksh, algunas variantes de Unix pueden no admitir un límite incluso si la shell reconoce la opción correspondiente.
Opciones que son compatibles con cada shell que he visto:
-H
: Combine con otras opciones para establecer o mostrar solo el límite duro.-S
: Combine con otras opciones para establecer o mostrar solo el límite flexible.-c
: tamaño máximo de archivo central (bloques de 512 bytes)-d
: tamaño máximo de almacenamiento dinámico (segmento de datos) (kB)-f
: tamaño máximo de archivo (bloques de 512 bytes)-n
: número máximo de descriptores de archivo-s
: tamaño máximo de pila (kB)-t
: tiempo máximo de CPUAlgunas otras opciones muy comunes:
-a
: Muestra todos los límites.-m
: tamaño máximo de memoria física (kB)-v
: tamaño máximo de memoria virtual (kB)
ulimit -h
no es compatible en todas partes, al menos no en Bash 4.2.25.