adb shell top
top命令提供了實時的對系統處理器的狀態監視.它將顯示系統中CPU最“敏感”的任務列表.該命令可以按CPU使用.內存使用和執行時間對任務進行排序.
top 用法
>adb shell top -h
Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [-t ] [ -h ]
-m num Maximum number of processes to display. 最多顯示多少個進程
-n num Updates to show before exiting. 刷新次數
-d num Seconds to wait between updates. 刷新間隔時間(默認5秒)
-s col Column to sort by (cpu,vss,rss,thr). 按哪列排序
-t Show threads instead of processes. 顯示線程信息而不是進程
-h Display this help screen. 顯示幫助文檔
adb shell top
> adb shell top
User 13%, System 5%, IOW 0%, IRQ 0%
User 85 + Nice 0 + Sys 37 + Idle 509 + IOW 0 + IRQ 0 + SIRQ 0 = 631
PID PR CPU% S #THR VSS RSS PCY UID Name
22205 0 13% S 56 423416K 88160K fg u0_a92 com.tmall.wireless
24310 1 2% R 1 1232K 536K root top
22600 0 1% S 46 341712K 40872K fg u0_a90 com.wandoujia.phoenix2.usbproxy
31125 1 1% S 31 319976K 33284K fg u0_a74 com.android.Chinpower
1533 0 1% S 32 67320K 20552K fg system /system/bin/surfaceflinger
1852 0 1% S 112 445876K 80304K fg system system_server
...
10 0 0% S 1 0K 0K root watchdog/0
16 1 0% S 1 0K 0K root khelper
22 1 0% S 1 0K 0K root suspend_sys_syn
23 1 0% S 1 0K 0K root suspend
第一組數據的含義:
User 處於用戶態的運行時間,不包含優先值爲負進程
Nice 優先值爲負的進程所佔用的CPU時間
Sys 處於核心態的運行時間
Idle 除IO等待時間以外的其它等待時間
IOW IO等待時間
IRQ 硬中斷時間
SIRQ 軟中斷時間
第二組數據的含義:
PID 進程id
PR 優先級
CPU% 當前瞬時CPU佔用率
S 進程狀態:D=不可中斷的睡眠狀態, R=運行, S=睡眠, T=跟蹤/停止, Z=殭屍進程
#THR 程序當前所用的線程數
VSS Virtual Set Size 虛擬耗用內存(包含共享庫佔用的內存)
RSS Resident Set Size 實際使用物理內存(包含共享庫佔用的內存)
PCY 調度策略優先級,SP_BACKGROUND/SP_FOREGROUND
UID 進程所有者的用戶id
Name 進程的名稱
具體信息可以查看源代碼中: xx\system\core\toolbox\top.c
監控CPU的命令使用實戰
>adb shell top | findstr tmall > d:\cpu.txt
打印 top命令,並查找 包含 tmall的命令行,輸出至 d:\cpu.txt
result:
22137 1 0% S 10 304728K 28900K bg u0_a92 com.tmall.wireless:push
22205 0 0% S 15 322944K 38236K bg u0_a92 com.tmall.wireless
22205 1 27% R 34 345304K 49396K fg u0_a92 com.tmall.wireless
22112 1 0% S 9 303704K 29380K bg u0_a92 com.tmall.wireless:containerprocess1
22137 1 0% S 10 304728K 28900K bg u0_a92 com.tmall.wireless:push
22252 1 0% S 9 302600K 28596K fg u0_a92 com.tmall.wireless:notify
22205 0 45% R 40 365500K 56708K fg u0_a92 com.tmall.wireless
22252 0 22% S 19 325476K 40868K bg u0_a92 com.tmall.wireless:notify
22137 0 2% S 14 308944K 31320K fg u0_a92 com.tmall.wireless:push
22112 0 0% S 9 305892K 29888K bg u0_a92 com.tmall.wireless:containerprocess1
22137 1 14% S 17 323080K 39696K bg u0_a92 com.tmall.wireless:push
22252 0 3% S 21 327656K 41556K bg u0_a92 com.tmall.wireless:notify
22205 1 2% S 38 366420K 59700K fg u0_a92 com.tmall.wireless
22112 0 0% S 9 305892K 29888K bg u0_a92 com.tmall.wireless:containerprocess1
22408 0 0% R 9 278424K 21936K fg u0_a92 com.tmall.wireless:utremote
22408 1 7% S 9 304180K 30964K bg u0_a92 com.tmall.wireless:utremote
22205 0 2% R 39 367456K 59612K fg u0_a92 com.tmall.wireless