10

Windows タスク マネージャーのタブ パフォーマンスなど、現在の合計 CPU 使用率を表示する小さな Android アプリケーションを作成しています。「top -m 1 -n 1 -d 1」を使用してCPU使用率を取得していますが、「top」の結果がよくわかりません。

結果は次のようになります。

User 5%, system 15%, IOW 0%, IRQ 0%
User 5 + Nice 0 + Sys 14 + Idle 73 + IOW 0 + IRQ 0 + SIRQ 0 = 92
PID     CPU%  S   #THR    VSS    RSS    UID     Name
213     11%   R    1      900K   340K   app_16   top

CPU 使用率 = ??? 合計 CPU 使用率を計算するにはどうすればよいですか?

4

4 に答える 4

10

この質問に対する受け入れられた回答は正しくありません。出力の 2 行目は、そのグループで起動されたスレッド/プロセスの数です。上記の CPU 使用率は 20% です。その 5% はユーザー アプリから、15% はシステム アプリからです。73 個のアイドル スレッド、14 個のシステム スレッド、および 5 個のユーザー スレッドがあります (2 行目によると)。

たとえば、これは私の Droid の現在のトップ スナップショットです。

User 6%, System 5%, IOW 0%, IRQ 0%
User 21 + Nice 0 + Sys 16 + Idle 270 + IOW 0 + IRQ 3 + SIRQ 0 = 310

  PID CPU% S  #THR     VSS     RSS PCY UID      Name
30994   4% S    19 134912K  24140K  bg app_24   edu.vu.isis.ammo.spotreport
 1021   3% S    57 217400K  58504K  fg system   system_server
20911   2% R     1    880K    400K  fg shell    top
 1053   0% S     1      0K      0K  fg root     tiwlan_wq
  995   0% S     2   1272K    128K  fg compass  /system/bin/akmd2

受け入れられた回答によると、これが実際にはスレッドの数である場合、CPU 使用率は 310% になります。私が実際に使用しているのは CPU の 11% だけであり、上位 3 つのプロセスがその合計の 9% を使用していると確信しています。

于 2011-08-11T17:31:04.347 に答える
6

質問に対する実際の答えは簡単です-android topの出力の最初の行から計算できます

User 5%, system 15%, IOW 0%, IRQ 0%

合計 = すべてのパーセンテージの合計 = 5+15 = 20%

2行目に関する他の答えはとても間違っています。jiffies2行目は、実際にその特定の状態で費やされたスケジューラー時間を示します-トップの1つの出力とトップの次の出力の間のuser/sys/idle/iow (通常は10ミリ秒)-OPの場合top -d 1-毎秒の使用量を出力します-合計数コアあたりの jiffy は ~100 になります (jiffy あたり 10ms を想定) - これはパーセンテージ値に似ています。

User 5 + Nice 0 + Sys 14 + Idle 73 + IOW 0 + IRQ 0 + SIRQ 0 = 92

一方、-dが高い場合、または複数のコアがある場合、値はより大きくなります。

User 21 + Nice 0 + Sys 16 + Idle 270 + IOW 0 + IRQ 3 + SIRQ 0 = 310

これにはおそらく-dオプションがないため、topデフォルトの遅延は 3 秒 = 300 jiffy になります。

各値の計算方法の完全なロジックを取得するには、AOSPのトップ ソースコードを参照してください。

于 2013-03-19T10:31:55.910 に答える
-5

CPU 使用率は(100-idle_percentage)、多かれ少なかれとして与えられます。スニペットでは、Idleパーセンテージは 73 で、CPU 使用率は 27% になります。

プロセスごとの CPU 使用率については、最後の 2 行の 2 番目の列になります。

于 2011-05-26T05:48:33.837 に答える
-5

top コマンドは Linux コマンドです。こちらをご覧ください

ありがとうディーパック

于 2011-05-26T05:50:34.057 に答える