modificare e applicare limits.conf senza riavviare


11

Ho aggiunto una riga in /etc/security/limits.conf per aumentare il numero di file aperti.

*    hard nofile 4096
root hard nofile 16384

Comunque quando corro ulimit -n dice 1024 che è il valore predefinito. Ho fatto un logout e accesso ma vedo ancora 1024. Come posso applicare la modifica?

Risposte:


6

Se stai usando bash, ulimit -n mostrerà solo il limite morbido. Per ottenere il duro limite, devi farlo ulimit -Hn.

Nel mio sistema, vedo questo:

$ ulimit -n
1024
$ ulimit -Hn
4096

12

Modifiche apportate da ulimit comando:

$ ulimit -n 4096
$ ulimit -Hn 16384

si applicherà solo per l'utente e la sessione correnti. Per renderlo permanente, devi modificare /etc/security/limits.conf aggiungendo i tuoi limiti:

* soft nofile 4096
* hard nofile 16384

Tuttavia, carattere jolly * non si applica per root utente. Per fare ciò, devi dichiararlo esplicitamente:

* soft nofile 4096
* hard nofile 16384
root soft nofile 4096
root hard nofile 16384

Questi limiti verranno applicati dopo il riavvio .

Se vuoi applicare le modifiche senza riavviare , modificare /etc/pam.d/common-session aggiungendo questa riga alla fine del file:

session required pam_limits.so

Al prossimo login dovresti vedere i limiti aggiornati, puoi controllarli (limiti soft e hard):

$ ulimit -a
$ ulimit -Ha

1
Ho avuto un problema con questo approccio che è stato davvero strano. Sto usando Ubuntu 14 e abilitato pam_limits.so nel /etc/pam.d/common-session. Ho configurato in /etc/security/limits.conf utente x per avere limiti hard e soft per nofile 64000. sudo -u x poi ulimit -a mi mostra che le modifiche non sono state applicate. ho capito che su e sudo avere diverse configurazioni di pam quindi per far funzionare correttamente ho avuto bisogno di abilitare il pam_limits.so nel /etc/pam.d/common-session-noninteractive. Se ti stai chiedendo qual è il caso d'uso, io uso ansible e sudo per cambiare utente.
hakcho

Per qualche motivo, ho dovuto aggiungerlo /etc/pam.d/common-session-noninteractive perché funzioni.
Sumit
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.