Como modificar o ulimit para arquivos abertos no SUSE Linux Enterprise Server 10.4 permanentemente?

9
SERVER:/etc # ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
pending signals                 (-i) 96069
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
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 96069
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
SERVER:/etc # 

Como posso definir o limite do usuário root de 1024 para outra coisa, PERMANENTEMENTE? Como posso definir o ulimit globalmente? As mudanças entrarão em vigor no momento?

ps: Eu já pesquisei no Google, mas não consigo encontrar o arquivo onde posso defini-lo permanentemente:

SERVER:/etc # grep -RiI ulimit * 2>/dev/null | egrep -v ":#|#ulimit"
init.d/boot.multipath:      ulimit -n $MAX_OPEN_FDS
init.d/multipathd:      ulimit -n $MAX_OPEN_FDS
rc.d/boot.multipath:        ulimit -n $MAX_OPEN_FDS
rc.d/multipathd:        ulimit -n $MAX_OPEN_FDS

e..:

SERVER:/etc # grep -RiI 'MAX_OPEN_FDS' * 2>/dev/null
init.d/boot.multipath:MAX_OPEN_FDS=4096
init.d/boot.multipath:  if [ -n "$MAX_OPEN_FDS" ] ; then
init.d/boot.multipath:      ulimit -n $MAX_OPEN_FDS
init.d/multipathd:MAX_OPEN_FDS=4096
init.d/multipathd:  if [ -n "$MAX_OPEN_FDS" ] ; then
init.d/multipathd:      ulimit -n $MAX_OPEN_FDS
rc.d/boot.multipath:MAX_OPEN_FDS=4096
rc.d/boot.multipath:    if [ -n "$MAX_OPEN_FDS" ] ; then
rc.d/boot.multipath:        ulimit -n $MAX_OPEN_FDS
rc.d/multipathd:MAX_OPEN_FDS=4096
rc.d/multipathd:    if [ -n "$MAX_OPEN_FDS" ] ; then
rc.d/multipathd:        ulimit -n $MAX_OPEN_FDS
SERVER:/etc # 
gasko peter
fonte

Respostas:

9

Use o módulo pam_limits (8) e adicione as duas linhas a seguir /etc/security/limits.conf:

root hard nofile 8192
root soft nofile 8192

Isso aumentará o limite de recursos RLIMIT_NOFILE (suave e físico) da raiz para 8192 no próximo login.

Petr Uzel
fonte
1
Eu o modifiquei, mas parece não ter efeito ao ver ulimit -a com a raiz, mesmo após um novo login, como aplicar essa alteração ao limits.conf sem uma reinicialização? : D
gasko peter
1
ulimit -n 8192definirá o limite imediatamente para o shell atual e todos os seus processos filhos.
precisa
Estou aceitando .. mas AFAIK a vontade máquina precisa de um reboot :) - até então Bash_profile .. ulimit -n 8192
Gasko peter
O arquivo /etc/security/limits.confé apenas metade da verdade: o arquivo é lido por pam_limits.so, o qual, por sua vez, deve ser configurado. A página do manual diz que /etc/pam.d/logindeve ter uma linha session required pam_limits.so.
U. Windl 27/02/19