adb shell 指令查询内存相关-专题
adb shell 指令查询内存相关-专题
-
查询设备剩余内存指令
cat /proc/meminfo -
查看设备中安装的各包使用内存情况(PSS)
dumpsys meminf
结果如下: -
查看设备中安装的指定包的使用内存情况(PSS)
dumpsys meminfo 包名
e.g. dumpsys meminfo com.moretv.android
结果如下:各内存值的技术参数含义:
VSS - Virtual Set Size虚拟耗用内存(包含共享库占用的内存)是单个进程全部可访问的地址空间。
RSS - Resident Set Size实际使用物理内存(包含共享库占用的内存)是单个进程实际占用的内存大小,对于单个共享库,尽管无论多少个进程使用,实际该共享库只会被装入内存一次。
PSS - Proportional Set Size实际使用的物理内存(比例分配共享库占用的内存)。
USS - Unique Set Size进程独自占用的物理内存(不包含共享库占用的内存)USS是一个非常非常有用的数字,因为它揭示了运行一个特定进程的真实的内存增量大小。如果进程被终止,USS就是实际被返还给系统的内存大小。USS是针对某个进程开始有可疑内存泄露的情况,进行检测的最佳数字。怀疑某个程序有内存泄露可以查看这个值是否一直有增加。
一般情况:VSS>= RSS >= PSS >= USS。
我们经常说的内存占用一般指的是PSS实际使用的物理内存**.因此ADB查出来的就是PSS**
- 用top指令查看内存, (获取VSS,RSS) ( 一般linux系统都用top指令)
adb shell top -h
Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [-t ] [ -h ]
-m num Maximum number of processes to display. 最多显示多少个进程
-n num Updates to show before exiting. 刷新次数
-d num Seconds to wait between updates. 刷新间隔时间(默认5秒)
-s col Column to sort by (cpu,vss,rss,thr). 按哪列排序
-t Show threads instead of processes. 显示线程信息而不是进程
-h Display this help screen. 显示帮助文档
e.g. adb shell top -m 10 -n 3 -d 8