determinare ulimit per l'utente root


8

crediamo di aver aumentato il massimo descrittori di file aperti per l'utente root. Ciò è stato fatto aggiungendo questa riga a /etc/security/limits.conf:

*         -    nofile            2048

Pensiamo di aver confermato che il limite dell'utente root è stato aumentato perché possiamo dire (non descritto qui) che la nostra applicazione (solr - che è eseguita da root) ha 1098 file aperti. Tuttavia, non possiamo dire con certezza quanti file aperti sono consentiti all'utente root. Ci aspetteremmo che questo comando funzioni, ma non sembra essere:

$ sudo -u root -s "ulimit -Sn"
1024

Qualche idea? Grazie!


Ci sono altre voci per nofile in limits.conf? Forse viene ignorato. Che dire di possibili errori di analisi di limits.conf. Puoi allegare l'intero file?
— Andrew Case,

Stai eseguendo selinux? Qual è l'output di: ls -lZ /etc/security/limits.conf
— Andrew Case

Risposte:


6

Ottieni il PID del processo in solresecuzione e quindi cat /proc/$SOLR_PID/limits- questo ti dirà i limiti effettivi del processo.

Consiglierei di eseguire cose come solrun utente separato senza privilegi. Quando lo fai hai più opzioni ( limits.conf o aggiungi ulimit -n 2048a allo script init, ...). L'ultimo non è poi così brillante ma funziona per impostazioni rapide e per riavviare il demone

RANT: non dirmi che non puoi riavviare perché perderai il servizio. In tal caso, dovresti comunque avere una configurazione HA :)


5

Dopo aver modificato il numero di file aperti /etc/security/limits.conf, l'utente deve disconnettersi e riconnettersi per avere effetto. Quindi, prova questo:

$ sudo su -
# ulimit -Sn

2

So che questa domanda ha una risposta, ma sembra più una soluzione, non una vera soluzione.

Secondo Ubuntu questo non è un bug ma un problema di documentazione, vedi: https://bugs.launchpad.net/ubuntu/+source/pam/+bug/65244

Grazie per la segnalazione. Come hai detto, questo non è un bug in PAM ma un problema di documentazione. Il fatto di consentire esplicitamente i limiti per l'utente root è stato affrontato qualche tempo fa (30 agosto 2000) ma è necessario nominare esplicitamente l'utente root per applicare i limiti.

Quindi se vuoi cambiare l'ulimit su tutti gli utenti, incluso l'utente root devi specificare:

*         -    nofile            2048
root      -    nofile            2048
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.