前言

近期發現,手機不定時會在長時間未使用的狀況下,電量依然持續大幅度地降低,且明顯發燙。

懷疑是某程序在背景活躍,於是使用 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 越獄,解決了不定時耗電問題。