2012-08-16 13 views
54

Quando redigere questo comando da Linux:linux/proc/loadavg

# cat /proc/loadavg 
0.75 0.35 0.25 1/25 1747 

Quali sono gli ultimi 2 numeri?

L'ultimo continua ad aumentare di 2 al secondo, dovrei essere preoccupato?

risposta

13

Le prime tre colonne misurano l'utilizzo della CPU e I/O degli ultimi periodi di cinque, cinque e 15 minuti. La quarta colonna mostra il numero di processi attualmente in esecuzione e il numero totale di processi. L'ultima colonna mostra l'ultimo ID di processo utilizzato.

https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-proc-loadavg.html

(ho cercato per la risposta, in modo da poter fare anche questo.)

+1

Grazie mille, l'ho fatto, ma ho ottenuto solo informazioni spazzatura collega – Ulterior

+0

Secondo colpo su https://duckduckgo.com/?q=proc%2Floadavg&t=canonical –

+2

mi oppongo con forza a questa definizione. I primi tre numeri non misurano l'utilizzo della CPU e I/O * direttamente *, sono il numero medio di lavori nella coda di esecuzione o in attesa di I/O, come afferma la risposta di @auselen. – Jan

48

L'ultimo che è il carico di lavoro del sistema per ultimi 15 minuti.

/proc/loadavg

I primi tre campi in questo file sono dati medi di carico indicante il numero di posti di lavoro nella coda di esecuzione (stato R) o in attesa per il disco I/O (stato D) media oltre 1, 5 e 15 minuti. Sono lo stesso dei numeri di carico medio forniti dal tempo di attività (1) e altri programmi .

Il quarto campo è costituito da due numeri separati da una barra (/). Il primo di questi è il numero di entità di pianificazione del kernel che eseguono attualmente (processi, thread); questo sarà meno pari o uguale al numero di CPU. Il valore dopo la barra è il numero di entità di pianificazione del kernel attualmente esistenti nel sistema .

Il quinto campo è il PID del processo che era il più creato di recente sul sistema.

9

Desidero commentare la risposta accettata.

Il quarto campo è costituito da due numeri separati da una barra (/). Il primo di questi è il numero di entità di pianificazione del kernel attualmente in esecuzione (processi, thread); questo sarà inferiore o uguale al numero di CPU .

Ho eseguito un programma di test che legge l'intero N dall'input e quindi crea N thread e li eseguono per sempre. Sul computer RHEL 6.5 ho 8 processori e ogni processore ha hyper threading. Ad ogni modo se eseguo il mio test e crea 128 thread, vedo nel quarto campo valori maggiori di 128, ad esempio 135. È chiaramente maggiore del numero di CPU. Questo post supporta la mia osservazione: http://juliano.info/en/Blog:Memory_Leak/Understanding_the_Linux_load_average

Vale la pena notare che la spiegazione corrente in proc (5) Manuale pagina (come di pagine man versione 3.21, marzo 2009) è sbagliato.Segnala il numero primo del quarto campo come il numero di entità di pianificazione attualmente in esecuzione e quindi prevede che non può essere maggiore del numero di CPU . Ciò non corrisponde alla reale implementazione, dove questo valore riporta il numero corrente di thread eseguibili.

+1

Può confermare: kernel/sched/core.c nr_running() si descrive come raccolta * runnable * in contrapposizione a * in esecuzione * attività. – fche