/proc/{pid}/smaps的使用

最近在调试zygote的内存占用问题,这个进程用top或者dumpsys meminfo得到一个总体的内存占用,但是不能通过dumpsys meminfo zygote或者am dumpheap zygote都不可以,因为这个可以算得上是一个native 的process,所以只能通过其它办法来调试。

调试native内存占用有valgrid,不过这个太麻烦,不算太直观,所以我想起来一个方法,可以参考top或者ps的计算办法,于是百度一下这个源码,得出要查看每个进程的smaps,cat一下就能得出来,具体参考smaps的字段。

VmFlags: rd wr mr mw me ac

70184000-70b60000 r--p 00000000 fe:09 104                                /data/dalvik-cache/arm64/system@[email protected]

Size:              10096 kB

KernelPageSize:        4 kB

MMUPageSize:          4 kB

Rss:                3136 kB

Pss:                3136 kB

Shared_Clean:          0 kB

Shared_Dirty:          0 kB

Private_Clean:      3136 kB

Private_Dirty:        0 kB

Referenced:        3136 kB

Anonymous:            0 kB

LazyFree:              0 kB

AnonHugePages:        0 kB

ShmemPmdMapped:        0 kB

Shared_Hugetlb:        0 kB

Private_Hugetlb:      0 kB

Swap:                  0 kB

SwapPss:              0 kB

Locked:            3136 kB

VmFlags: rd mr mw me

你可能感兴趣的:(/proc/{pid}/smaps的使用)