CPU使用量:ユーザー、システム、アイドル状態を合計すると、常に100%になりますか? [閉鎖]

CPU使用量:ユーザー、システム、アイドル状態を合計すると、常に100%になりますか? [閉鎖]

https://www.opsdash.com/blog/cpu-usage-linux.html

CPU使用量のコンポーネント

では、「作業の種類」とは何ですか?最も確実なのは「ユーザー」と「システム」です。

システム:CPUがカーネルコードを実行しています。これには、デバイスドライバとカーネルモジュールが含まれます。

ユーザー:CPUがユーザーモードでコードを実行しています。これにはアプリケーションコードが含まれます。アプリケーションがディスクから読み取ったりネットワークに書き込もうとすると、カーネルはその操作中に実際にスリープ状態になり、アプリケーションを再起動します。

アイドル:カーネルが実際にやるべきことがなければ、この時間は無駄になります。技術的には、実行可能キューが空で進行中のI / O操作がない場合、CPU使用率はアイドル状態で表示されます。

ユーザー、システム、アイドル率の合計が常に100%であることを正しく理解していますか?

答え1

可能な状態は、オペレーティングシステム(LinuxまたはUnix、バリアント、およびバージョン)によって異なります。

可能なすべての状態値の合計は100%です。そう計算されるからです。

ユーザー、システム、アイドルなどの主な状態に加えて、注目すべき1つの状態は、その状態のレベルが重要である可能性があることです。盗むここで、CPUは、同じハードウェアで実行されている別の仮想マシンで使用されます。他の状態は、特定のI / Oが完了(待機)されるのを待つのと、ソフトウェアとハ​​ードウェアの割り込みを待つことです。

答え2

実はそうではありません。異なるタイプのCPU使用率があります。実行すると、sar -u ALLCPU使用量を確認できます。

00:00:01        CPU      %usr     %nice      %sys   %iowait    %steal      %irq     %soft    %guest     %idle
00:10:01        all     89.42      0.00      0.28      0.00      0.00      0.00      0.02      0.00     10.28

著者が指摘したように、ユーザー空間プログラム(%usr)、素晴らしいプロセス時間(%usr)(どのように計算されるかわからない)、カーネル空間プログラム(%sys)、待ち時間I /を含む他の種類のCPU使用率あります。 O(ディスク)(%iowait)、1つのCPUからサイクルを盗むのに費やされた時間(%steal)、および割り込み要求(%irq、%soft)。 CPUがこれらの操作を実行しない場合は、アイドル(%idle)と見なされます。これらの合計は常に100%でなければなりません。

関連情報