在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
Thursday, July 16, 2009
Subscribe to:
Post Comments (Atom)
 
 
No comments:
Post a Comment