cat /proc/stat
http://www.linuxhowtos.org/System/procstat.htm
Souhlasím s touto odpovědí výše. Řádek cpu v tomto souboru udává celkový počet "jiffies", které váš systém strávil různými typy zpracování.
Co musíte udělat, je provést 2 čtení tohoto souboru, oddělené jakýmkoli časovým intervalem, který požadujete. Čísla zvyšují hodnoty (v závislosti na převrácení celého čísla), takže k získání % cpu potřebujete vypočítat, kolik minut uplynulo během vašeho intervalu oproti tomu, kolik minut jste strávili prací.
např. Předpokládejme, že ve 14:00:00 máte
CPU 4698 591 262 8953 916 449 531
total_jiffies_1 =(součet všech hodnot) =16400
work_jiffies_1 =(součet user,nice,system =první 3 hodnoty) =5551
a ve 14:00:05 máte
CPU 4739 591 289 9961 936 449 541
total_jiffies_2 =17506
work_jiffies_2 =5619
Takže využití %cpu za toto období je:
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 %
Doufám, že to trochu pomůže.
Zkuste si přečíst /proc/loadavg
. První tři čísla představují počet skutečně spuštěných procesů (tj. využívajících CPU), zprůměrovaný za posledních 1, 5 a 15 minut.
http://www.linuxinsight.com/proc_loadavg.html