android 查看内存使用情况
来源:互联网 发布:惠威m3音箱评测数据 编辑:程序博客网 时间:2024/06/05 19:09
对android 内存分析比较好的Blog:
1.http://blog.csdn.net/gemmem/article/details/8920039
主要介绍
1、进程的地址空间。
2、进程内存空间和RAM之间的关系。
3、Android中的进程。
4、Android中进程的堆内存。
5、Android的 java程序为什么容易出现OOM。
6、Android如何应对RAM不足。
7、如何查看RAM使用情况。
8、 如何查看进程的内存信息。
9、应用程序如何绕过dalvikvm heapsize的限制。
10、Bitmap分配在native heap还是dalvik heap上?
一、 分析整个系统的内存使用情况:
1、 Procrank
Android 自带的内存分析工具,对各个进程的内存使用进行排序(by Pss default).
# procrank
PID Vss Rss Pss Usscmdline
3351 1058776K163952K 141197K 139596K com.google.earth
2616 943156K116020K 93360K 91724K com.android.vending
539 990756K 112504K91393K 89808K com.android.systemui
4657 995760K105964K 77829K 70776K com.rovio.angrybirds
...
119 31904K 7676K6038K 5900K /system/bin/surfaceflinger
122 27468K 3788K3045K 2964K /system/bin/mediaserver
...
120 865084K 24308K2263K 860K zygote
...
------ ------ ------
717098K 669272KTOTAL
RAM: 1124832Ktotal, 105528K free, 3808K buffers, 136624K cached,
656K shmem, 23656Kslab
2、 Dumpsysmeminfo
Android 自带的内存分析工具,dumpsys只能查看java进程,procrank可以查看Native进程和java进程。 .
3、 Cat /proc/meminfo
查看总的内存使用情况.
MemTotal: 396708kB
MemFree: 4088kB
Buffers: 5212kB
Cached: 211164kB
Mlocked: 0kB
HighTotal: 0kB
HighFree: 0kB
LowTotal: 396708kB
LowFree: 4088kB
SwapTotal: 0kB
……
……
MemTotal:可以使用的RAM总和(小于实际RAM,操作系统预留了一部分)
MemFree:未使用的RAM
Cached:缓存(这个也是app可以申请到的内存)
HightTotal:RAM中地址高于860M的物理内存总和,只能被用户空间的程序使用。
HightFree:RAM中地址高于860M的未使用内存
LowTotal:RAM中内核和用户空间程序都可以使用的内存总和(对于512M的RAM: lowTotal= MemTotal)
LowFree: RAM中内核和用户空间程序未使用的内存(对于512M的RAM: lowFree = MemFree)
4、 Ps -x
该方式主要得到的是内存信息是VSIZE和RSS。.
二、 分析单个进程的内存使用情况
1、Procmem +进程号
可查看进程的各个部分内存使用情况,包括通过驱动申请的内存
# procmem 119
Vss Rss Pss UssShCl ShDi PrCl PrDi Name
------- -------------- ------- ------- ------- ------- -------
4K 0K 0K 0K 0K 0K0K 0K
1012K 4K 4K 4K 0K0K 4K 0K [stack:944]
512K 512K 512K 512K0K 0K 36K 476K /dev/mali0
512K 512K 512K 512K0K 0K 0K 512K /dev/mali0
516K 12K 12K 12K 0K0K 12K 0K [anon:libc_malloc]
512K 512K 512K 512K0K 0K 224K 288K /dev/mali0
512K 512K 512K 512K0K 0K 32K 480K /dev/mali0
516K 12K 12K 12K 0K0K 12K 0K [anon:libc_malloc]
...
2680K 2668K 2668K2668K 0K 0K 2668K 0K [heap]
132K 20K 20K 20K 0K0K 20K 0K [stack]
0K 0K 0K 0K 0K 0K0K 0K [vectors]
------- -------------- ------- ------- ------- ------- -------
31904K 7676K 6039K5900K 1760K 16K 4144K 1760K TOTAL
2、Dumpsys meminfo + pid/packageName
可查看进程的dalvik-heap,NativeHeap大小
shell@hwB199:/ $ dumpsys meminfo 1051
dumpsys meminfo 1051
Applications Memory Usage (kB):
Uptime: 184110340 Realtime: 419146160
** MEMINFO in pid 1051[com.android.systemui] **
Shared Private Heap Heap Heap
Pss Dirty Dirty Size Alloc Free
------ ------ ------ ------ ------ ------
Native 0 0 0 24276 21430 2321
Dalvik 17339 5612 17236 20864 15142 5722
Stack 144 8 144
Cursor 0 0 0
Ashmem 0 0 0
Other dev 6564 1696 5756
.so mmap 1559 2704 1192
.jar mmap 0 0 0
.apk mmap 1197 0 0
.ttf mmap 481 0 0
.dex mmap 662 0 0
Other mmap 42 8 4
Unknown 18510 520 18504
TOTAL 46498 10548 42836 45140 36572 8043
Objects
Views: 316 ViewRootImpl: 2
AppContexts: 29 Activities: 0
Assets: 8 AssetManagers: 8
Local Binders: 64 Proxy Binders: 69
Death Recipients: 5
OpenSSL Sockets: 0
SQL
MEMORY_USED: 0
PAGECACHE_OVERFLOW: 0 MALLOC_SIZE: 0
Asset Allocations
zip:/data/app/com.UCMobile-2.apk:/resources.arsc: 522K
zip:/data/app/com.tencent.mobileqq-1.apk:/resources.arsc: 1204K
- Android 查看内存使用情况
- Android 查看内存使用情况
- Android 查看内存使用情况
- Android 查看内存使用情况
- Android 查看内存使用情况
- Android 查看内存使用情况
- android查看内存使用情况
- android 查看内存使用情况
- android 查看内存使用情况
- Android 查看内存使用情况
- android查看内存使用情况
- Android 查看内存使用情况
- Android 查看内存使用情况
- Android procrank查看内存使用情况
- 04_查看Android内存使用情况
- eclipse查看Android应用内存使用情况
- android怎样查看内存使用情况?
- Android 查看内存情况
- enq: TT – contention等待事件
- Python数据分析环境搭建——linux篇
- poj 3261 后缀数组
- 读取简单的CSV文件
- 2014.7.24 - 多校2
- android 查看内存使用情况
- python之语句语法学习
- (1)JS与AI 的学习
- Presenting view controllers on detached view controllers is discouraged
- 指针与引用
- Linux 程序设计学习笔记----POSIX 文件及目录管理
- c#文件操作的学习
- poj2115
- 韩语学习之第二课