使用meminfo分析Android单个进程内存信息
来源:互联网 发布:投资 知乎 编辑:程序博客网 时间:2024/05/16 23:55
http://my.oschina.net/shaorongjie/blog/128442
https://developer.android.com/tools/debugging/debugging-memory.html#HeapDump
可以使用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
- 使用meminfo分析Android单个进程内存信息
- 使用meminfo分析Android单个进程内存信息
- 使用meminfo分析Android单个进程内存信息
- 使用meminfo分析Android单个进程内存信息
- 使用meminfo分析Android单个进程内存信息
- 使用meminfo分析Android单个进程内存信息
- Android 分析Android单个进程内存信息
- android /proc/meminfo内存信息
- Android使用procrank和dumpsys meminfo分析内存占用情况
- Android使用procrank和dumpsys meminfo分析内存占用情况
- Android单个进程内存分配
- Android单个进程内存分配
- Linux-内存分析-free meminfo
- Android 查看手机内存使用情况(/proc/meminfo)
- Android单个进程内存分配策略
- Android 4.4 meminfo 实现分析
- Android 4.4 meminfo 实现分析
- Android 4.4 meminfo 实现分析
- Android开源项目分类汇总【二】
- spark 1.1 mllib中 NaiveBayes 源码阅读
- Xcode5.1离线下载安装及使用iOS5模拟器进行开发调试的方法
- Coco2dx 游戏项目接入SDK时遭遇C/C++ 与 Object-C混编,此时该怎么办?
- 在linux查看内存的大小
- 使用meminfo分析Android单个进程内存信息
- 基于S3C2440的嵌入式Linux驱动——SPI子系统解读(二)
- xcode 找不到头文件
- Vijos P1211生日日数
- 在Controller中处理HTML超链接点击事件
- Android 上进行图片旋转
- 基于S3C2440的嵌入式Linux驱动——SPI子系统解读(三)
- Eclipse 代码提示功能设置
- StringUtils中 isNotEmpty 和isNotBlank的区别