Qual è il limite massimo al numero di processi possibili in un sistema Linux? Come possiamo trovarlo?Numero massimo di processi in linux
risposta
vostro kernel dovrebbe esportare queste informazioni in procfs
:
cat /proc/sys/kernel/pid_max
Questo è il numero massimo di identificatori processo unico sistema in grado di supportare.
Poiché si tratta di un file, lo /proc/sys/kernel/pid_max
può essere controllato da qualsiasi linguaggio di programmazione in grado.
questo può essere vero, ma nelle distro più belle questo è limitato da /etc/security/limits.conf che può filtrare il numero massimo di processi su base utente/gruppo/dominio. – AoeAoe
'ulimit' potrebbe limitare i processi max per utente a meno del massimo pid, e da un po 'di googling, ci sono anche altre limitazioni in gioco (ma non ho trovato nessuna fonte definitiva da confermare, come LKML o un Dev ben noto che lo pubblica). – Kitsune
'int fd = read ("/proc/sys/kernel/pid_max ");' non è valido, né è valido per nessun altro file. – immibis
sysctl kernel.pid_max
o
cat/proc/sys/kernel/pid_max
Come suggerito da Ninefingers.
Per completezza, è possibile cambiare temporaneamente scrivendo a/proc/syskernel/pid_max o permanente con l'aggiunta di:
kernel.pid_max = 4194303
a /etc/sysctl.conf . 4194303 è il limite massimo per x86_64 e 32767 per x86.
ha appena provato 'sysctl kernel.pid_max = 4194304' e ha avuto successo (Linux 3.10.25) –
@ zed_0xff a patto che tu sappia che la modifica non è persistente è tutto ok! –
'printf '% x \ n' 4194303' restituisce' 3fffff' – Tino
Risposta breve alla tua domanda: il numero di processi possibili nel sistema linux è ILLIMITATO.
Ma esiste un limite al numero di processi per utente (tranne root che non ha limiti).
E puoi controllare i tuoi limiti utente con il comando seguente (apposito a "max processi utente").
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 256447
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 128000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 500000
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Se si desidera aumentare il limite sul numero di processi per un particolare utente (ad esempio: Hadoop), è necessario effettuare sotto voce nel /etc/security/limits.conf
hadoop - nproc 500000
A volte la modifica sopra richiede un riavvio per ottenere la modifica in vigore. –
Questo richiede una citazione per il numero è 'illimitato', per ulimit significa che non ha un limite impostato (illimitato), ma il numero di processi che lo schedulatore è permesso non è illimitato ... come in infinito. L'ulimit non era la domanda. – hpavc
il kernel ha un limite rigido di 4 mln, penso che –
kernel.pid_max è un fattore limitante, ma almeno altrettanto importante è kernel.threads-max. Vale la pena notare che il valore predefinito di nproc per ogni utente è kernel.threads-max diviso per due e che ogni thread conta per il limite di nproc di un utente. Pertanto, "ps -u $ USER" potrebbe far sembrare che un utente non abbia esaurito il limite di nproc, ma "ps -L -u $ USER" potrebbe raccontare una storia molto diversa.
- 1. Numero massimo di processi registrati a livello globale
- 2. Numero massimo di thread
- 3. Numero massimo superato di DLL in R
- 4. Numero massimo di HttpWebRequests simultanei
- 5. Numero massimo di istruzioni in C++
- 6. Numero massimo di tabelle in MySQL
- 7. Numero massimo di errori in CSharpCodeProvider.CompileAssemblyFromFile
- 8. Numero massimo di unità in Windows?
- 9. Unicorno: quale numero di processi di lavoro utilizzare?
- 10. Numero massimo di thread Android
- 11. Distinzione tra processi e thread in Linux
- 12. come limitare il numero di processi PBS in esecuzione simultaneamente
- 13. Come posso impostare il numero massimo di processi o thread MySQL?
- 14. Parametri funzione numero massimo
- 15. È ragionevole aspettarsi che in Linux, fd <numero massimo di descrittori di file aperti?
- 16. C'è un modo leggero per ottenere il numero corrente di processi in Linux?
- 17. Errore report Crystal: Limite massimo di processi di elaborazione report
- 18. Numero massimo di file che possono essere aperti da c "fopen" in linux
- 19. Numero massimo di valori di array numpy
- 20. Numero massimo di tentativi di invio
- 21. Come modificare il numero di processi paralleli?
- 22. scopo del numero massimo in php & mysql
- 23. Ascolto di nuovi processi in Linux Kernel Module
- 24. Come trovare il numero massimo
- 25. OpenSSL configura il numero massimo di connessioni
- 26. iphone e notifiche: numero massimo di notifiche?
- 27. Jenkins - numero massimo di lavori simultanei
- 28. Numero massimo di periferiche su CoreBluetooth?
- 29. Numero massimo di database supportati da MongoDB
- 30. Numero massimo di connessioni Socket.IO simultanee
Stack Overflow è un sito per domande di programmazione e sviluppo. Questa domanda sembra essere fuori tema perché non riguarda la programmazione o lo sviluppo. Vedi [Quali argomenti posso chiedere qui] (http://stackoverflow.com/help/on-topic) nel Centro assistenza. Forse [Super User] (http://superuser.com/) o [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) sarebbe un posto migliore dove chiedere. – jww