web-dev-qa-db-ja.com

ストックCPU使用率データの読み方

アイスクリームサンドイッチでは、[開発者向けオプション]のオプションは[CPU使用率を表示]で、画面にオーバーレイが追加されます(下のスクリーンショットを参照)。

私の質問は、どのようにデータを読むのですか?パッケージ名は現在アクティブなプロセスであると推測しましたが、背後の赤と緑のバーは何を意味していますか?また、パッケージの上にある3つの数字は何ですか?

enter image description here

113
XGouchet

これは、Unixの平均負荷である必要があります。 Wikipedia にはこれに関する素晴らしい記事があります。

数字は、異なる時間間隔でのCPUのaverage負荷を示しています。左から右:最後の分/最後の5分/最後の15分

77
nkr

これまでのところ、これは私が見つけることができるこれに関する最も有用な情報源でした。どうやら、数字は%の負荷平均を反映していません: http://forum.xda-developers.com/showthread.php?t=149576

9
Vaiden

他の回答が指摘したように、UNIXシステムでは、数値は1/5/15分間のCPU負荷平均を表します。しかし、Linux(およびその結果としてAndroid)では、それが表すものは異なるものです。

1993年にさかのぼるカーネルパッチ( 主題に関する詳細な記事 )の後、Linuxでは負荷平均値はCPU負荷:計算はCPUにバインドされたプロセスだけでなく、割り込み不可能な待機状態のプロセスも考慮します-元の目標は、I/Oにバインドされたプロセスをこのように説明し、 CPU負荷だけでなく「システム負荷」。問題は、1993年以降、Linuxカーネルで無停電状態の使用が増えており、通常はI/Oバウンドプロセスを表していないことです。この問題は、一部のLinux開発者が、実装でシグナルを受け入れないようにするための簡単な待機として、割り込み不可能な待機を使用することでさらに悪化しています。その結果、Linux(およびAndroid)では、実際の負荷を客観的に表していない歪んだ高負荷平均値を見ることができます。低CPU使用率とは対照的に、不当な高負荷平均に関するAndroidユーザーレポートがあります。たとえば、私の古いAndroid電話(2 CPUコア)は、通常、システムとCPUがアイドル状態のときに平均負荷が〜12であると表示されました。したがって、Linux(Android)の平均負荷数は、信頼できるパフォーマンスメトリックではありません。

2
Slider2k

1分、5分、15分間のCPU負荷を示す「負荷平均」の詳細

Linux、Mac、およびその他のUnixライクなシステムには、「負荷平均」の数値が表示されます。これらの数値は、システムのCPU、ディスク、およびその他のリソースがどれだけビジーであるかを示します。最初は一目瞭然ではありませんが、慣れるのは簡単です。

WIKI: example, one can interpret a load average of "1.73 0.60 7.98" on a single-CPU system as:

during the last minute, the system was overloaded by 73% on average (1.73 runnable processes, so that 0.73 processes had to wait for a turn for a single CPU system on average).
during the last 5 minutes, the CPU was idling 40% of the time on average.
during the last 15 minutes, the system was overloaded 698% on average (7.98 runnable processes, so that 6.98 processes had to wait for a turn for a single CPU system on average) if dual core mean: 798% - 200% = 598%. 

おそらく、複数のCPUまたはマルチコアCPUを搭載したシステムがあります。このようなシステムでは、負荷平均値の動作が少し異なります。たとえば、シングルCPUシステムのロード平均が2の場合、これはシステムが100%過負荷になっていることを意味します。つまり、1つのプロセスがCPUを使用している間、1つのプロセスが待機しています。 2つのCPUを搭載したシステムでは、これは完全に使用されます。2つの異なるプロセスが常に2つの異なるCPUを使用していました。 4つのCPUを搭載したシステムでは、これは半分の使用量になります。2つのプロセスが2つのCPUを使用し、2つのCPUがアイドル状態でした。

負荷平均数を理解するには、システムに搭載されているCPUの数を知る必要があります。平均負荷6.03は、単一のCPUを搭載したシステムが非常に過負荷であることを示しますが、8つのCPUを搭載したコンピューターでは問題ありません。

詳細: リンク

1
j-shan huang

高性能Androidアプリ 本(157ページ)から:

  • 表示されるものは adb Shell dumpsys cpuinfo コマンドと同等です
  • 数値が表示されています CPU負荷 1分、5分、15分以上(左から)
  • 色は、ユーザー空間(緑)、カーネル(赤)、IO割り込み(青)でCPUが費やした時間を示しています
0
SeeR