Come aumentare "ulimit -u" (max processi utente)?

6

Posso modificare tutti i soliti ulimiti tramite (per esempio) ulimit -n 8192 e launchctl limit maxfiles 8192 8192 . In qualche modo, questo non sembra funzionare per -u , il numero massimo di processi utente:

~$ sudo launchctl limit maxproc 8192 8192
~$ sudo launchctl limit maxproc
    maxproc     2048           2048
-- in a new terminal:
~$ ulimit -u
1064

Ricevo un "errore di fork" ogni tanto, ed è abbastanza fastidioso dover uccidere un sacco di processi quando "kill" non può iniziare :) (cioè di solito ricorro solo al riavvio della macchina) .

Qual è il modo corretto per modificare il numero massimo di processi utente?

    
posta Stefano Palazzo 10.01.2013 - 10:38
fonte

1 risposta

5

link parla di questo problema in ottimo dettaglio.

Quando fai sudo launchctl limit maxproc , stai visualizzando o modificando i limiti del launchd a livello di sistema.

Quando fai launchctl limit maxproc , stai visualizzando o modificando i limiti di lancio per il tuo utente.

Una cosa da tenere a mente è questa:

The root user can increase the hard limits of the system-wide launchd, without a reboot. However, you cannot change a user’s launchd hard limits without a reboot (even if trying to do so as the root user).

Fondamentalmente, il limite rigido (la colonna di destra) che viene visualizzato quando si fa inizialmente launchctl limit maxproc sarà il limite che è possibile impostare utilizzando ulimit -u senza riavvio. La disconnessione e il ritorno non funzioneranno. Anche se cambi ciò che è visualizzato da launchctl limit maxproc , il limite rigido iniziale rimane. Vedi questa risposta per ulteriori informazioni sulla relazione tra ulimit e launchctl limit . Per aumentare questo limite, devi

  • modifica / crea /etc/sysctl.conf per aumentare i processi massimi supportati dal kernel

    kern.maxproc=2500
    kern.maxprocperuid=2500
    
  • modifica / crea /etc/launchd.conf per aumentare i limiti rigidi del launchd a livello di sistema all'avvio

    limit maxproc 2500 2500
    
  • riavvio

Si noti inoltre che 2500 sembra essere il limite massimo su cui kern.maxproc può essere impostato. Ti farò una domanda al riguardo non appena riavvio e avrò abbastanza processi gratuiti per aprire un'altra scheda di Chrome.

    
risposta data 01.08.2014 - 19:12
fonte

Leggi altre domande sui tag