Android系統adb命令查看CPU與內存使用率


 1. 打開終端,進入上述目錄,如下圖所示:
                                            
       2. 輸入adb shell,打開adb命令行,如下圖所示:
                                         
       3. 查看cpu使用情況:
       輸入命令:top -m 10 -s cpu(-m顯示最大數量,-s 按指定行排序),如下圖所示:
                             
 
  1. 參數含義:  
  2. PID  : progress identification,應用程序ID  
  3. S    : 進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值是負數  
  4. #THR : 程序當前所用的線程數  
  5. VSS  : Virtual Set Size虛擬耗用內存(包含共享庫占用的內存)  
  6. RSS  : Resident Set Size實際使用物理內存(包含共享庫占用的內存)  
  7. PCY  : 前台(fg)和后台(bg)進程  
  8. UID  : User Identification,用戶身份ID  
  9. Name : 應用程序名稱  
(注意第一列的pid,使用pid值可以查看當前程序的內存使用情況。)
       4. 查看指定程序內存使用情況:
       輸入命令:dumpsys meminfo pid,比如查看手機安裝的360安全衛士,那么實際命令應該為:dumpsys meminfo 3253,如下圖所示:
                          
[plain]  view plain  copy
 
  1. 參數含義:  
  2. dalvik : dalvik使用的內存  
  3. native : native堆上的內存,指C\C++堆的內存(android 3.0以后bitmap就是放在這兒)  
  4. other  : 除了dalvik和native的內存,包含C\C++非堆內存······  
  5. Pss    : 該內存指將共享內存按比例分配到使用了共享內存的進程  
  6. heap alloc    : 已使用的內存  
  7. heap free     : 空閑的內存  
  8. share dirty   : 共享,但有不能被換頁出去的內存  
  9. private dirty : 非共享,又不能被換頁出去的內存(比如linux系統中為了提高分配內存速度而緩沖的小對象,即使你的進程已經退出,該內存也不會被釋放)  
5. 使用ctrl + c,退出adb命令行。

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.  // 顯示幫助文檔 

  1. User 15%, System 12%, IOW 0%, IRQ 0% // CPU占用率 
  2. User 468 + Nice 125 + Sys 481 + Idle 2783 + IOW 1 + IRQ 0 + SIRQ 2 = 3860 // CPU使用情況 
  3.  
  4. PID   PR   CPU% S  #THR     VSS         RSS    PCY       UID             Name // 進程屬性 
  5. 284   1     16% S         61     473068K  41488K   fg       media    /system/bin/mediaserver
  6.  
  7. CPU占用率: 
  8. User    用戶進程 
  9. System  系統進程 
  10. IOW IO等待時間 
  11. IRQ 硬中斷時間 
  12.  
  13. CPU使用情況(指一個最小時間片內所占時間,單位jiffies。或者指所占進程數): 
  14. User    處於用戶態的運行時間,不包含優先值為負進程 
  15. Nice    優先值為負的進程所占用的CPU時間 
  16. Sys 處於核心態的運行時間 
  17. Idle    除IO等待時間以外的其它等待時間 
  18. IOW IO等待時間 
  19. IRQ 硬中斷時間 
  20. SIRQ    軟中斷時間 
  21.  
  22. 進程屬性: 
  23. PID 進程在系統中的ID 
  24. CPU%    當前瞬時所以使用CPU占用率 
  25. S   進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值是負數。 
  26. #THR    程序當前所用的線程數 
  27. VSS Virtual Set Size 虛擬耗用內存(包含共享庫占用的內存) 
  28. RSS Resident Set Size 實際使用物理內存(包含共享庫占用的內存) 
  29. PCY OOXX,不知道什么東東 
  30. UID 運行當前進程的用戶id 
  31. Name    程序名稱android.process.media 
  32.  
  33. // ps:內存占用大小有如下規律:VSS >= RSS >= PSS >= USS 
  34. // PSS  Proportional Set Size 實際使用的物理內存(比例分配共享庫占用的內存) 
  35. // USS  Unique Set Size 進程獨自占用的物理內存(不包含共享庫占用的內存) 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM