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可以申请到的内存)

HightTotalRAM中地址高于860M的物理内存总和,只能被用户空间的程序使用。

HightFreeRAM中地址高于860M的未使用内存

LowTotalRAM中内核和用户空间程序都可以使用的内存总和(对于512MRAM: lowTotal= MemTotal

LowFree: RAM中内核和用户空间程序未使用的内存(对于512MRAM: lowFree = MemFree

 

4、 Ps -x

该方式主要得到的是内存信息是VSIZERSS.

 

二、        分析单个进程的内存使用情况

 

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

0 0
原创粉丝点击