GNU/Linux >> Znalost Linux >  >> Linux

Jak získat celkové využití CPU v Linuxu pomocí C++

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


Linux
  1. Jak vypočítat využití paměti v Linuxu pomocí sar, ps a zdarma

  2. Jak získat uživatelské jméno v C/C++ v Linuxu?

  3. Jak zjistit využití CPU

  1. Jak omezit využití CPU procesu v Linuxu

  2. Jak zkontrolovat celkovou velikost RAM a využití paměti v Linuxu

  3. Jak získat rychlost hodin procesoru ARM v Linuxu?

  1. Získejte informace o CPU v Linuxu

  2. Jak získat teplotu CPU na Ubuntu Linux

  3. Jak získat počet CPU v Linuxu pomocí C?