Che cosa causa questi processi sleeping
che vedo in top
? Se dovessi chiamare la funzione sleep()
di PHP, aggiungerei al conteggio sleeping
che vedo in top
? Ci sono degli svantaggi nell'avere un numero elevato in sleeping
?In * nix, che cosa causa "dormire" nel comando superiore?
risposta
Un processo sta dormendo quando è bloccato, in attesa di qualcosa. Ad esempio, potrebbe aver chiamato read()
e sta aspettando che i dati arrivino da un flusso di rete.
sleep()
è davvero un modo per far dormire il processo per un po '. Dormire è, tuttavia, lo stato normale di tutti i processi, ma strettamente legati al calcolo: dormire è essenzialmente ciò che fa un processo quando non fa altro. È normale che la maggior parte dei tuoi processi stia dormendo - se questo è non il caso, tende ad indicare che hai bisogno di più potenza della CPU.
Sono processi che non funzionano sulla CPU al momento. Ciò non è necessariamente una cattiva cosa.
Se si dispone di numeri enormi (10.000 su un sistema server, ad esempio) di processi che dormono, la quantità di memoria utilizzata per tenerne traccia potrebbe rendere il sistema meno efficiente per i processi non dormienti.
Altrimenti, va bene.
La maggior parte dei sistemi di server normali hanno da 100 a 1000 la maggior parte del tempo; questo non è un grosso problema.
Solo perché non stanno facendo nulla solo ora non significa che non lo faranno, molto presto. Mantenerli in memoria, pronti, riduce la latenza quando sono richiesti.
Un processo di sospensione è come un processo sospeso. Un processo dorme quando:
- che sta facendo un'operazione di I/O (blocco per I/O)
- Quando lo ordinate a dormire dal sonno()
Lo stato di qualsiasi processo può essere:
- pronto: quando pronto per l'esecuzione e in coda in attesa la chiamata processore con specifico priorità
- Inattivo: quando era in esecuzione ed è stato bloccato per operazioni I/O o durante l'esecuzione di sleep()
- In esecuzione: quando il processore esegue un processo, diventa in esecuzione.
Stato Significato
R Runnable
T fermati
P attesa sul pageasset
D attesa di I/O
S Sleeping < 20 secondi
I minimo - letto> 20 secondi
Z Zombie o defunta
Per andare in un po 'più in dettaglio qui, lo stato S
significa che il processo di è in attesa su un timer o su un dispositivo lento, mentre lo stato D
significa che è in attesa su un dispositivo veloce.
Ciò che costituisce un dispositivo veloce rispetto a un dispositivo lento non è molto ben definito, ma in generale, tutti i dispositivi seriali, di rete e terminali sono dispositivi lenti, mentre i dischi sono dispositivi veloci.
- 1. Che cosa causa HttpHostConnectException?
- 2. Che cosa causa java.lang.IncompatibleClassChangeError?
- 3. Dormire nel controllore
- 4. Che cosa causa l'errore ENOTCONN?
- 5. Che cosa causa EventMachine :: ConnectionNotBound?
- 6. Che cosa causa la causa ricorsiva in un'eccezione?
- 7. Formattazione di elenchi con il comando di colonna in * nix
- 8. Che cosa è utile INSTALL_DIR nel comando ExternalProject_Add?
- 9. Che cosa causa un errore SIGABRT?
- 10. Che cosa causa questo bug di ggplot2?
- 11. Che cosa causa "NSScanner: nil string argument"?
- 12. Che cosa causa questo comportamento del mouse?
- 13. Cosa significa TTY nel comando unix ps?
- 14. Come simulare l'iPhone che viene messo a dormire nel simulatore iOS?
- 15. Cosa causa CBCentralManagerStateSnknown in iOS?
- 16. CGContextDrawLinearGradient che causa EXC_BAD_ACCESS
- 17. Understanding * nix icone percorsi
- 18. Dormire in JQuery?
- 19. Esegue il comando poco prima di andare a dormire Mac
- 20. Come dormire per 1 secondo tra ogni comando xargs?
- 21. Che cosa significa il comando "nodo". fare?
- 22. Mapapi v2 in Android che causa un errore nel frammento
- 23. Che cosa causa un errore HTTP 503 HttpListener?
- 24. Che cosa causa l'errore Skrill LOCK_LEVEL_9 quando si inviano soldi?
- 25. Come dormire in un QRunnable?
- 26. CGColorRef che causa l'arresto
- 27. Come scoprire cosa causa BadTokenExceptions
- 28. Dipendenze Build in Runtime in Nix
- 29. Bash script come dormire in un nuovo processo quindi eseguire un comando
- 30. Calcolo dell'utilizzo della CPU del comando superiore
I processi stanno dormendo perché non hanno nulla da fare al momento. – some