adb shell top 命令中几个内存信息的解释 【RSS,PSS,USS,VSS】 native,dalvik内存

来源:互联网 发布:农商银行柜员工资知乎 编辑:程序博客网 时间:2024/04/30 05:36

adb shell top  命令中


从以上打印可以看出,一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS 
 VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)是单个进程全部可访问的地址空间 
RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)是单个进程实际占用的内存大小,对于单个共享库, 尽管无论多少个进程使用,实际该共享库只会被装入内存一次。 
PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存) 
USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)USS 是一个非常非常有用的数字, 因为它揭示了运行一个特定进程的真实的内存增量大小。如果进程被终止, USS 就是实际被返还给系统的内存大小。 

USS 是针对某个进程开始有可疑内存泄露的情况,进行检测的最佳数字。怀疑某个程序有内存泄露可以查看这个值是否一直有增加 


Android程序内存被分为2部分:native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直接在native上分配的,对于内存的限制是 native+dalvik 不能超过最大限制。Android程序内存一般限制在16M,当然也有24M的。 
 从上信息对于分析内存泄露,内存溢出都有极大的作用,从以上信息可以看到该应用程序占用的native和dalvik,当TOTAL 16407 11792 12860 22275 18459 2003超过内存最大限制时会出现OOM错误。 



dumpsys能做的事还有很多 


dumpsys [options]
               meminfo 显示内存信息
               cpuinfo 显示CPU信息
               account 显示accounts信息
               activity 显示所有的activities的信息
               window 显示键盘,窗口和它们的关系
               wifi 显示wifi信息
参考文档:http://www.cnblogs.com/qianxudetianxia/archive/2012/05/14/2497073.html 

http://www.v2ex.com/t/174185

0 0
原创粉丝点击