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