GNU/Linux >> Linux Esercitazione >  >> Linux

Come ottenere l'utilizzo totale della CPU in Linux usando C++

cat /proc/stat

http://www.linuxhowtos.org/System/procstat.htm

Sono d'accordo con questa risposta sopra. La riga cpu in questo file fornisce il numero totale di "jiffies" che il tuo sistema ha impiegato per eseguire diversi tipi di elaborazione.

Quello che devi fare è prendere 2 letture di questo file, separate da qualsiasi intervallo di tempo richiesto. I numeri sono valori crescenti (soggetti al rollover degli interi), quindi per ottenere la %cpu devi calcolare quanti jiffies sono trascorsi nel tuo intervallo, rispetto a quanti jiffies sono stati spesi per lavorare.

es. Supponiamo che alle 14:00:00 tu abbia

processore 4698 591 262 8953 916 449 531

total_jiffies_1 =(somma di tutti i valori) =16400

work_jiffies_1 =(somma di user,nice,system =i primi 3 valori) =5551

e alle 14:00:05 hai

processore 4739 591 289 9961 936 449 541

total_jiffies_2 =17506

work_jiffies_2 =5619

Quindi l'utilizzo della %cpu in questo periodo è:

work_over_period =work_jiffies_2 - work_jiffies_1 =68

total_over_period =total_jiffies_2 - total_jiffies_1 =1106

%cpu =work_over_period / total_over_period * 100 =6,1%

Spero che questo aiuti un po'.


Prova a leggere /proc/loadavg . I primi tre numeri rappresentano il numero di processi effettivamente in esecuzione (ad esempio, utilizzando una CPU), calcolati in media rispettivamente negli ultimi 1, 5 e 15 minuti.

http://www.linuxinsight.com/proc_loadavg.html


Linux
  1. Come limitare l'utilizzo della CPU di un processo in Linux

  2. Come controllare la dimensione totale della RAM e l'utilizzo della memoria in Linux

  3. Come calcolare l'utilizzo della memoria in Linux usando sar, ps e free

  4. Come ottenere il numero di CPU in Linux usando C?

  5. Come ottenere l'utilizzo della CPU

Come trovare informazioni sulla CPU in Linux utilizzando la riga di comando

Come visualizzare l'utilizzo del disco su Linux usando Baobab

Come ottenere il tuo indirizzo IP su Linux

Come controllare l'utilizzo o l'utilizzo della CPU di Linux

Come ottenere informazioni sull'hardware su Linux utilizzando il comando dmidecode

Come posso ottenere l'utilizzo totale della CPU di un'applicazione da /proc/pid/stat?