使用 top 追蹤 iOS 耗電異常
 
    
    前言
近期發現,手機不定時會在長時間未使用的狀況下,電量依然持續大幅度地降低,且明顯發燙。
懷疑是某程序在背景活躍,於是使用 top 工具,記錄 CPU 的使用率進行故障排除。
設備為:iPhone 7 Plus;iOS 12.1.1;Undecimus-v3.0.0-b46 越獄。
關於 top
top 是效能分析工具,能夠即時顯示系統中各個程序的資源佔用狀況。
可於 Cydia 下載安裝。
使用方法
記錄模式
於設備的終端機su切換到 root 使用者後,下指令:
top -u -n 5 -l 600 -s 60 > ./log.txt
上述指令的意義為:以 CPU 使用量排序,僅輸出前 5 個,循環次數 600 次,循環間隔 60 秒。
最後,將結果存至目錄下的log.txt,類似以下結果:
Processes:  232 total, 1 running, 231 sleeping... 874 threads           11:52:19
Load Avg:  1.19,  1.77,  1.88    CPU usage: 10.94% user,  0.00% sys, 89.06% idle
SharedLibs: num =    0, resident =     0 code,     0 data,     0 linkedit.
MemRegions: num = 38622, resident =  934M +     0 private,  574M shared.
PhysMem:  308M wired, 1107M active,  896M inactive, 2684M used,  316M free.
VM: 45G + 0   3583939(0) pageins, 17863(0) pageouts
  PID COMMAND      %CPU   TIME   #TH #PRTS #MREGS  RPRVT  RSHRD  RSIZE  VSIZE
14518 top          6.0%  0:00.31   1    24    102  2064K-   25M- 6480K+   87M+
 6255 CommCenter   3.8%  2:03:06  17  1559    229 12944K-   34M-   48M   173M
 6153 mediaserve   2.9%  1:48:55  23  4024-   859 27296K-   42M-   67M-  283M-
 6179 backboardd   2.4%  6:39:55  23  5348-  1973 49344K+   63M-   71M-  448M-
 6156 locationd    0.9%  2:34:20  10   521    263 14608K-   34M-   45M   163M
若要終止記錄狀態下的 top,需再開個終端機視窗,下指令killall top。
即時模式
亦可直接下指令top,查看即時數據,輸入q即可終止 top。
結語
實測時,幸運地未出現異狀,手機進入休眠時記錄將會暫停。
最後改用 Undecimus-v3.2.1 越獄,解決了不定時耗電問題。
          貼文底端