- adb shell
- $ top -h
- 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. // 顯示幫助文檔
- $ top -n 1
- top -n 1
就不把執行效果放上來了,總之結果表述如下:
- User 35%, System 13%, IOW 0%, IRQ 0% // CPU佔用率
- User 109 + Nice 0 + Sys 40 + Idle 156 + IOW 0 + IRQ 0 + SIRQ 1 = 306 // CPU使用情況
- PID CPU% S #THR VSS RSS PCY UID Name // 進程屬性
- xx xx% x xx xx xx xx xx xx
- CPU佔用率:
- User 用戶進程
- System 系統進程
- IOW IO等待時間
- IRQ 硬中斷時間
- CPU使用情況(指一個最小時間片內所佔時間,單位jiffies。或者指所佔進程數):
- User 處於用戶態的運行時間,不包含優先值爲負進程
- Nice 優先值爲負的進程所佔用的CPU時間
- Sys 處於核心態的運行時間
- Idle 除IO等待時間以外的其它等待時間
- IOW IO等待時間
- IRQ 硬中斷時間
- SIRQ 軟中斷時間
- 進程屬性:
- PID 進程在系統中的ID
- CPU% 當前瞬時所以使用CPU佔用率
- S 進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值是負數。
- #THR 程序當前所用的線程數
- VSS Virtual Set Size 虛擬耗用內存(包含共享庫佔用的內存)
- RSS Resident Set Size 實際使用物理內存(包含共享庫佔用的內存)
- PCY OOXX,不知道什麼東東
- UID 運行當前進程的用戶id
- Name 程序名稱android.process.media
- // ps:內存佔用大小有如下規律:VSS >= RSS >= PSS >= USS
- // PSS Proportional Set Size 實際使用的物理內存(比例分配共享庫佔用的內存)
- // USS Unique Set Size 進程獨自佔用的物理內存(不包含共享庫佔用的內存)