Ice Cream Sandwichでは、開発者向けオプションのオプションは[CPU使用率を表示]で、画面にオーバーレイが追加されます(下のスクリーンショットを参照)。
私の質問は、データをどのように読み取るのですか?パッケージ名は現在アクティブなプロセスだと思いましたが、後ろの赤と緑のバーはどういう意味ですか?また、パッケージの上の3つの数字は何ですか?
Ice Cream Sandwichでは、開発者向けオプションのオプションは[CPU使用率を表示]で、画面にオーバーレイが追加されます(下のスクリーンショットを参照)。
私の質問は、データをどのように読み取るのですか?パッケージ名は現在アクティブなプロセスだと思いましたが、後ろの赤と緑のバーはどういう意味ですか?また、パッケージの上の3つの数字は何ですか?
回答:
これは、Unixの負荷平均です。ウィキペディアにはこれに関する素晴らしい記事があります。
数値は、さまざまな時間間隔でのCPUの平均負荷を示しています。左から右へ:最後の1分/最後の5分/最後の15分
他の回答が指摘しているように、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)の平均負荷数は、信頼性の高いパフォーマンスメトリックにはなりません。
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つのプロセスが他の1つのプロセスが待機している間にCPUを使用していました。2つのCPUを備えたシステムでは、これは完全な使用法になります。2つの異なるプロセスが常に2つの異なるCPUを使用していました。4つのCPUが搭載されたシステムでは、これは半分の使用率になります。2つのプロセスが2つのCPUを使用し、2つのCPUがアイドル状態でした。
負荷平均数を理解するには、システムに搭載されているCPUの数を知る必要があります。負荷平均6.03は、単一のCPUを搭載したシステムが大幅に過負荷になったことを示しますが、CPUが8個のコンピューターでは問題ありません。
詳細:リンク
高性能Androidアプリのブック(157ページ):