您的位置:首页 > 移动开发 > Android开发

使用meminfo分析Android单个进程内存信息

2015-06-26 06:59 1206 查看
可以使用adb shell dumpsys meminfo -a <process id>/<process name>来查看一个进程的memory。截图如下:





Naitve Heap Size: 从mallinfo usmblks获得,代表最大总共分配空间

Native Heap Alloc: 从mallinfo uorblks获得,总共分配空间

Native Heap Free: 从mallinfo fordblks获得,代表总共剩余空间

Native Heap Size 约等于Native Heap Alloc + Native Heap Free

mallinfo是一个C库, mallinfo 函数提供了各种各样的通过C的malloc()函数分配的内存的统计信息。

Dalvik Heap Size:从Runtime totalMemory()获得,Dalvik Heap总共的内存大小。

Dalvik Heap Alloc: Runtime totalMemory()-freeMemory() ,Dalvik Heap分配的内存大小。

Dalvik Heap Free:从Runtime freeMemory()获得,Dalvik Heap剩余的内存大小。

Dalvik Heap Size 约等于Dalvik Heap Alloc + Dalvik Heap
Free

OtherPss, include Cursor,Ashmem, Other Dev, .so mmap, .jar mmap, .apk mmap, .ttf mmap, .dex mmap, Other mmap, Unkown统计信息都可以在process的smap文件看到。

Objects and SQL 信息都是从Android Debug信息中获得。

其他类型 smap 路径名称 描述

Cursor /dev/ashmem/Cursor Cursor消耗的内存(KB)

Ashmem /dev/ashmem 匿名共享内存用来提供共享内存通过分配一个多个进程

可以共享的带名称的内存块

Other dev /dev/ 内部driver占用的在 “Other dev”

.so mmap .so C 库代码占用的内存

.jar mmap .jar Java 文件代码占用的内存

.apk mmap .apk apk代码占用的内存

.ttf mmap .ttf ttf 文件代码占用的内存

.dex mmap .dex Dex 文件代码占用的内存

Other mmap 其他文件占用的内存

参考:

http://man7.org/linux/man-pages/man3/mallinfo.3.html

http://www.gnu.org/software/libc/manual/html_node/Statistics-of-Malloc.html

http://gee.cs.oswego.edu/pub/misc/malloc.h

http://www.redwolf-blog.com/?p=882
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: