参考:https://www.jianshu.com/p/3bab26d25d2e
https://blog.csdn.net/adaptiver/article/details/7084364
- VSS- Virtual Set Size 虚拟耗用内存(用处不大,包含共享库占用的内存,以及分配但未使用的内存,如malloc分配了但未写入,VSS很少用于判断一个进程内存的真实使用量)
- RSS- Resident Set Size 实际使用物理内存(用处不大,包含共享库占用的内存,仅表示该进程使用的所有共享库的大小,而不管有多少个进程使用该共享库,故不能准确反映单进程的内存使用情况)
- PSS- Proportional Set Size 实际使用的物理内存(仅供参考,比例分配共享库占用的内存,按照进程数等比例划分)
- USS- Unique Set Size 进程独自占用的物理内存(非常有用,不包含共享库占用的内存)
一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS
# procrank
procrank
PID Vss Rss Pss Uss cmdline
481 31536K 30936K 14337K 9956K system_server
475 26128K 26128K 10046K 5992K zygote
526 25108K 25108K 9225K 5384K android.process.acore
523 22388K 22388K 7166K 3432K com.android.phone
574 21632K 21632K 6109K 2468K com.android.settings
521 20816K 20816K 6050K 2776K jp.co.omronsoft.openwnn
474 3304K 3304K 1097K 624K /system/bin/mediaserver
37 304K 304K 289K 288K /sbin/adbd
29 720K 720K 261K 212K /system/bin/rild
601 412K 412K 225K 216K procrank
1 204K 204K 185K 184K /init
35 388K 388K 182K 172K /system/bin/qemud
284 384K 384K 160K 148K top
27 376K 376K 148K 136K /system/bin/vold
261 332K 332K 123K 112K logcat
33 396K 396K 105K 80K /system/bin/keystore
32 316K 316K 100K 88K /system/bin/installd
269 328K 328K 95K 72K /system/bin/sh
26 280K 280K 93K 84K /system/bin/servicemanager
45 304K 304K 91K 80K /system/bin/qemu-props
34 324K 324K 91K 68K /system/bin/sh
260 324K 324K 91K 68K /system/bin/sh
600 324K 324K 91K 68K /system/bin/sh
25 308K 308K 88K 68K /system/bin/sh
28 232K 232K 67K 60K /system/bin/debuggerd
#
top | grep app名称
ps | grep app名称
procrank | grep app名称
dumpsys meminfo app名称
前两个命令只能查到VSS RSS内存占用信息
而后面两个命令可以查出 PSS USS内存占用.
dumpsys meminfo 可以查出native和dalvik分别占用多少内存
dumpsys 用来给出手机中所有应用程序的信息,并且也会给出现在手机的状态。
dumpsys [Option]
meminfo 显示内存信息
cpuinfo 显示CPU信息
account 显示accounts信息
activity 显示所有的activities的信息
window 显示键盘,窗口和它们的关系
wifi 显示wifi信息