Respostas:
O comando ulimit é um comando interno que usa as funções C descritas pelo man: Sua própria ajuda está incluída na página do manual do Bash, acessível com man bash
.
Você pode listar todas as opções disponíveis ulimit -h
e ver o significado correspondente usando a ulimit -a
lista de todos os tipos de limitações disponíveis e seus valores atuais, dependendo do seu 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
deve ser um shell embutido, pois o limite estabelecido se aplica ao próprio shell, bem como aos programas que ele inicia. O único argumento portátil é -f
(limite de tamanho do arquivo, em unidades de 512 bytes). A maioria dos shells tem mais opções, você precisará verificar a documentação do shell para saber exatamente o que são. Com shells portáteis, como bash e ksh, algumas variantes do unix podem não suportar um limite, mesmo que a opção correspondente seja reconhecida pelo shell.
Opções que são suportadas por todos os shell que eu já vi:
-H
: Combine com outras opções para definir ou mostrar apenas o limite máximo.-S
: Combine com outras opções para definir ou mostrar apenas o limite flexível.-c
: tamanho máximo do arquivo principal (blocos de 512 bytes)-d
: tamanho máximo de heap (segmento de dados) (kB)-f
: tamanho máximo do arquivo (blocos de 512 bytes)-n
: número máximo de descritores de arquivo-s
: tamanho máximo da pilha (kB)-t
: tempo (s) máximo (s) de CPUAlgumas outras opções muito comuns:
-a
: Exibe todos os limites.-m
: tamanho máximo da memória física (kB)-v
: tamanho máximo da memória virtual (kB)
ulimit -h
não há suporte para todos os lugares - pelo menos no Bash 4.2.25.