GNU/Linux >> Linux の 問題 >  >> Linux

C++ を使用して Linux で合計 CPU 使用率を取得する方法

<ブロック引用>

猫/proc/stat

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

上記のこの回答に同意します。このファイルの cpu 行は、システムがさまざまな種類の処理に費やした "jiffy" の合計数を示します。

あなたがする必要があるのは、必要な時間間隔で区切られた、このファイルの 2 つの読み取りを取ることです。数値は増加する値なので (整数のロールオーバーの影響を受けます)、%cpu を取得するには、インターバルで経過したジフィー数と、作業に費やされたジフィー数を計算する必要があります。

たとえば、14:00:00 に

があるとします。 <ブロック引用>

CPU 4698 591 262 8953 916 449 531

total_jiffies_1 =(すべての値の合計) =16400

work_jiffies_1 =(ユーザー、ナイス、システムの合計 =最初の 3 つの値) =5551

そして 14:00:05 に

<ブロック引用>

CPU 4739 591 289 9961 936 449 541

total_jiffies_2 =17506

work_jiffies_2 =5619

したがって、この期間の CPU 使用率は次のようになります:

<ブロック引用>

work_over_period =work_jiffies_2 - work_jiffies_1 =68

total_over_period =total_jiffies_2 - total_jiffies_1 =1106

%cpu =作業オーバー期間 / 合計オーバー期間 * 100 =6.1%

少しでもお役に立てば幸いです。


/proc/loadavg を読んでみてください .最初の 3 つの数値は、実際に実行されている (つまり、CPU を使用している) プロセスの数であり、それぞれ過去 1、5、および 15 分間の平均です。

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


Linux
  1. LinuxでプロセスのCPU使用率を制限する方法

  2. sar、ps、および free を使用して Linux でメモリ使用量を計算する方法

  3. Linux の C/C++ でユーザー名を取得するには?

  1. Linux で合計 RAM サイズとメモリ使用量を確認する方法

  2. Cを使用してLinuxでCPUの数を取得するには?

  3. CPU使用率を取得する方法

  1. LinuxでCPU情報を取得する

  2. UbuntuLinuxでCPU温度を取得する方法

  3. LinuxでARM CPUクロック速度を取得するには?