Come modificare definitivamente ulimit per i file aperti su SUSE Linux Enterprise Server 10.4?


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 # 

Come posso impostare il limite dell'utente root da 1024 a qualcos'altro, PERMANENTAMENTE? Come posso impostare l'ulimit a livello globale? Le modifiche avranno effetto al momento?

ps: ho già cercato su Google per questo, ma non riesco a trovare il file dove posso impostarlo in modo permanente:

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 # 

Risposte:


9

Utilizzare il modulo pam_limits (8) e aggiungere le seguenti due righe a /etc/security/limits.conf:

root hard nofile 8192
root soft nofile 8192

Ciò aumenterà il limite di risorse RLIMIT_NOFILE (sia soft che hard) per root a 8192 al prossimo accesso.


1
L'ho modificato, ma sembra non avere alcun effetto quando si vede ulimit -a con il root, anche dopo un nuovo accesso, come applicare questa modifica a limits.conf senza riavviare? : D
gasko peter,

1
ulimit -n 8192imposterà immediatamente il limite per la shell corrente e tutti i suoi processi figlio.
Petr Uzel,

Sto accettando .. ma alla fine la macchina avrà bisogno di un riavvio :) - fino ad allora .bash_profile .. ulimit -n 8192
gasko peter

Il file /etc/security/limits.confè solo metà della verità: il file viene letto da pam_limits.so, che, a sua volta, deve essere configurato. La pagina del manuale dice che /etc/pam.d/logindovrebbe avere una linea session required pam_limits.so.
U. Windl,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.