GNU/Linux >> Linux Esercitazione >  >> Linux

Numero massimo di file aperti per il processo di lavoro

echo -n "Max open files=20:20" > /proc/$pid/limits

...funziona in RHEL5.5 e RHEL6.7.

Si noti che "-n" è obbligatorio; una nuova riga finale genererà un reclamo per argomenti non validi.


Un'altra opzione è usare il comando prlimit (dal pacchetto util-linux). Ad esempio, se desideri impostare il numero massimo di file aperti per un processo in esecuzione su 4096:

prlimit -n4096 -p pid_of_process


Potresti usare gdb, entrare nel processo, chiamare le suddette chiamate di sistema per aumentare il limite che ti interessa, quindi continuare il lavoro ed uscire da gdb. Ho modificato le cose al volo in questo modo un paio di volte.

La tua app non sarebbe inattiva, ma solo bloccata per il momento mentre eseguivi la chiamata. se sei veloce (o lo script!), probabilmente non si noterà.


Come amministratore di sistema :Il /etc/security/limits.conf file lo controlla sulla maggior parte delle installazioni Linux; ti consente di impostare limiti per utente. Avrai bisogno di una linea come myuser - nofile 1000 .

All'interno di un processo :le chiamate getrlimit e setrlimit controllano la maggior parte dei limiti di allocazione delle risorse per processo. RLIMIT_NOFILE controlla il numero massimo di descrittori di file. Avrai bisogno delle autorizzazioni appropriate per chiamarlo.


Linux
  1. 8 comandi Linux per una gestione efficace dei processi

  2. Controlla il limite FD aperto per un determinato processo in Linux

  3. Chiamare il sistema operativo per aprire l'URL?

  4. Conteggio dei file aperti per processo

  5. I file .pid sono affidabili per determinare se un processo è in esecuzione?

5 giochi di puzzle open source per Linux

Come aumentare il limite del numero di file aperti in Linux

Comando ls in Linux per elencare i file

Comandi per la gestione dei processi in Linux

Troppi file aperti su Debian

Come posso sapere quali file ha aperto un processo?