Android查看memory usage
在adb shell裡有幾種方法可以看memory
1. android shell裡的top
PID CPU% S #THR VSS RSS UID Name
VSS -Virtual memory 的size
RSS -就是指physical 的page
不過在android上這兩項不一定是實際的數值
第一是這裡拿到的值是process可以用的memory space
而不是實際上已經使用的memory
第二是在android上很多processes之間有share
所以phy pages是可以被share的
2. 用busybox的top
不過...............那出來的值好像都怪怪的
3.用procrank
# procrank
PID Vss Rss Pss Uss cmdline
Uss是這個process exclusive 的memory
Pss 不是很清楚
不過好像是Uss 加上 RSS/ (用這塊shared memory的process數目)
procrank的source在 mydroid/extras/procrank
主要是利用 kernel 在2.6.25後一個新的功能
在/proc/pid/裡新加一個 pagemap
http://lwn.net/Articles/230975/
4. 如果要看java heap的使用量的話
dumpsys meminfo
** MEMINFO in pid 608 [com.android.phone] **
native dalvik other total
size: 4112 3655 N/A 7767
allocated: 3829 2821 N/A 6650
free: 266 834 N/A 1100
(Pss): 2087 1785 2877 6749
(shared dirty): 1124 3952 928 6004
(priv dirty): 1968 1380 556 3904
Objects
Views: 0 ViewRoots: 0
AppContexts: 5 Activities: 0
Assets: 3 AssetManagers: 3
Local Binders: 18 Proxy Binders: 14
Death Recipients: 1
OpenSSL Sockets: 0
SQL
heap: 142 dbFiles: 0
numPagers: 2 inactivePageKB: 24
activePageKB: 0
dumpsys的source在/mydroid/frameworks/base/cmds/dumpsys
張貼者: ALLSTARS 位於 下午 12:08
沒有留言:
張貼留言