1 本地调试获取内存信息
1.1 获取系统内存信息
通过在 adb shell 内执行命令 cat /proc/meminfo
,获取信息如下:
OP4C72L1:/ $ cat /proc/meminfo
MemTotal: 7800948 kB
MemFree: 227700 kB
MemAvailable: 4981420 kB
Buffers: 12092 kB
Cached: 4694560 kB
SwapCached: 53148 kB
Active: 4018228 kB
Inactive: 1765996 kB
Active(anon): 1021200 kB
Inactive(anon): 269516 kB
Active(file): 2997028 kB
Inactive(file): 1496480 kB
Unevictable: 200428 kB
Mlocked: 200428 kB
SwapTotal: 4194300 kB
SwapFree: 3413924 kB
Dirty: 88 kB
Writeback: 0 kB
AnonPages: 1272280 kB
Mapped: 1445728 kB
Shmem: 15028 kB
KReclaimable: 513568 kB
Slab: 477908 kB
SReclaimable: 194116 kB
SUnreclaim: 283792 kB
KernelStack: 71008 kB
ShadowCallStack: 4441 kB
PageTables: 97700 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 11240496 kB
Committed_AS: 126822724 kB
VmallocTotal: 263061440 kB
VmallocUsed: 141028 kB
VmallocChunk: 0 kB
CmaTotal: 208896 kB
CmaFree: 24264 kB
IonTotalCache: 134756 kB
IonTotalUsed: 108500 kB
GPUTotalUsed: 107708 kB
1.2 获取执行 App 内存信息
主要通过命令dumpsys meminfo <package name>
,例如
OP4C72L1:/ $ dumpsys meminfo com.x.x.example
Applications Memory Usage (in Kilobytes):
Uptime: 16468000 Realtime: 39149166
** MEMINFO in pid 3137 [com.shopee.sszrtc.example] **
Pss Private Private SwapPss Rss Heap Heap Heap
Total Dirty Clean Dirty Total Size Alloc Free
------ ------ ------ ------ ------ ------ ------ ------
Native Heap 53051 53016 0 22 54372 77824 56613 21210
Dalvik Heap 8292 6656 1592 16 9536 12555 6278 6277
Dalvik Other 4693 3320 8 0 6540
Stack 2396 2396 0 0 2404
Ashmem 8 0 0 0 32
Gfx dev 7168 7160 8 0 7168
Other dev 44 0 44 0 444
.so mmap 28755 768 24144 5 74912
.jar mmap 1992 0 132 0 34692
.apk mmap 491 0 24 0 24076
.ttf mmap 222 0 132 0 600
.dex mmap 16684 16672 0 0 16812
.oat mmap 31 0 0 0 2536
.art mmap 9094 8688 28 0 22536
Other mmap 77 36 0 0 1388
EGL