VSS:Virtual Set Size,虚拟耗用内存。它是一个进程能访问的所有内存空间地址的大小。这个大小包含了


一些没有驻留在RAM中的内存,就像mallocs已经被分配,但还没有写入。VSS很少用来测量程序的实际使


用内存。



RSS:Resident Set Size,实际使用物理内存。RSS是一个进程在RAM中实际持有的内存大小。RSS可能会


产生误导,因为它包含了所有该进程使用的共享库所占用的内存,一个被加载到内存中的共享库可能有很


多进程会使用它。RSS不是单个进程使用内存量的精确表示。



PSS:Proportional Set Size,实际使用的物理内存,它与RSS不同,它会按比例分配共享库所占用的内存。


例如,如果有三个进程共享一个占30页内存控件的共享库,每个进程在计算PSS的时候,只会计算10页。


PSS是一个非常有用的数值,如果系统中所有的进程的PSS相加,所得和即为系统占用内存的总和。当一个


进程被杀死后,它所占用的共享库内存将会被其他仍然使用该共享库的进程所分担。在这种方式下,PSS


也会带来误导,因为当一个进程被杀后,PSS并不代表系统回收的内存大小。



USS:Unique Set Size,进程独自占用的物理内存。这部分内存完全是该进程独享的。USS是一个非常有用


的数值,因为它表明了运行一个特定进程所需的真正内存成本。当一个进程被杀死,USS就是所有系统回


收的内存。USS是用来检查进程中是否有内存泄露的最好选择,怀疑某个程序有内存泄露可以查看这个值是否一直有增加

# procrank
  PID       Vss      Rss      Pss      Uss  cmdline
 1713  4490816K  166332K   85072K   76952K  system_server
一般规律   VSS >= RSS >= PSS >= USS 
top  | grep app名称     只能查到VSS RSS内存占用信息
ps  |  grep app名称      只能查到VSS RSS内存占用信息
procrank | grep app名称       可以查出  PSS USS内存占用.
dumpsys meminfo app名称     可以查出  PSS USS内存占用.

dumpsys meminfo 可以查看native和dalvik分别占用多少内存
dumpsys 手机中所有应用程序的信息,并且给出现在手机的状态。
dumpsys [Option]
               meminfo: 内存信息
               cpuinfo: CPU信息
               account: accounts信息
               activity: 所有activities的信息
               window: 键盘,窗口和它们的关系
               wifi: wifi相关信息



例如:

# dumpsys meminfo system_server
Applications Memory Usage (in Kilobytes):
Uptime: 5335926 Realtime: 197741474
                   Pss  Private  Private  SwapPss     Heap     Heap     Heap
                 Total    Dirty    Clean    Dirty     Size    Alloc     Free
                ------   ------   ------   ------   ------   ------   ------
  Native Heap    19713    19676        0        0        0        0        0
  Dalvik Heap    15308    15208        0        0        0        0        0
 Dalvik Other     7164     6668        0        0
        Stack       68       68        0        0
       Ashmem       88       64        0        0
      Gfx dev     9688      516     9172        0
    Other dev       36        0        8        0
     .so mmap     9291     1268     3196        0
    .jar mmap    11245    10704        0        0
    .apk mmap     5586     3148      912        0
    .ttf mmap        2        0        0        0
    .dex mmap      191        0        0        0
   Other mmap      232        4       96        0
    GL mtrack    22848    22848        0        0
      Unknown     3653     3648        0        0
        TOTAL   105113    83820    13384        0        0        0        0


 App Summary
                       Pss(KB)
                        ------
           Java Heap:    15208
         Native Heap:    19676
                Code:    19228
               Stack:       68
            Graphics:    32536
       Private Other:    10488
              System:     7909


               TOTAL:   105113       TOTAL SWAP PSS:        0