GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erhalten Sie die gesamte CPU-Auslastung in Linux mit C++

cat /proc/stat

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

Ich stimme dieser Antwort oben zu. Die CPU-Zeile in dieser Datei gibt die Gesamtzahl der "Jiffies" an, die Ihr System für verschiedene Verarbeitungsarten aufgewendet hat.

Was Sie tun müssen, ist, diese Datei zweimal abzulesen, getrennt durch das gewünschte Zeitintervall. Bei den Zahlen handelt es sich um steigende Werte (vorbehaltlich des Integer-Rollovers). Um also den %CPU-Wert zu erhalten, müssen Sie berechnen, wie viele Jiffies in Ihrem Intervall verstrichen sind und wie viele Jiffies für die Arbeit aufgewendet wurden.

Beispiel:Angenommen, Sie haben um 14:00:00 Uhr

CPU 4698 591 262 8953 916 449 531

total_jiffies_1 =(Summe aller Werte) =16400

work_jiffies_1 =(Summe von user,nice,system =die ersten 3 Werte) =5551

und um 14:00:05 haben Sie

CPU 4739 591 289 9961 936 449 541

total_jiffies_2 =17506

work_jiffies_2 =5619

Die CPU-Nutzung in % in diesem Zeitraum ist also:

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 %

Hoffe, das hilft ein bisschen.


Versuchen Sie, /proc/loadavg zu lesen . Die ersten drei Zahlen sind die Anzahl der tatsächlich laufenden Prozesse (d. h. die eine CPU verwenden), gemittelt über die letzten 1, 5 bzw. 15 Minuten.

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


Linux
  1. So begrenzen Sie die CPU-Auslastung eines Prozesses in Linux

  2. So überprüfen Sie die gesamte RAM-Größe und Speichernutzung in Linux

  3. Wie erhalte ich die Anzahl der CPUs in Linux mit C?

  4. So erhalten Sie die CPU-Auslastung

  5. Wie bekomme ich eine ARM-CPU-Taktrate unter Linux?

So finden Sie CPU-Informationen in Linux über die Befehlszeile

So visualisieren Sie die Festplattennutzung unter Linux mit Baobab

So erhalten Sie Ihre IP-Adresse unter Linux

So überprüfen Sie die Linux-CPU-Auslastung oder -Auslastung

So erhalten Sie Hardwareinformationen unter Linux mit dem Befehl dmidecode

Wie erhalte ich die gesamte CPU-Auslastung einer Anwendung aus /proc/pid/stat?