adb shell 命令 dumpsys meminfo pkg 信息注释

本文详细介绍了adb shell命令dumpsys meminfo用于获取Android应用程序内存使用情况的各个字段,包括Pss Total、Private Dirty/Clean、Heap Alloc、Native Heap和Dalvik Heap等,帮助理解进程实际占用的物理内存和内存管理。
摘要由CSDN通过智能技术生成

adb shell 命令 dumpsys meminfo pkg 信息注释

参考网址:https://blog.csdn.net/su749520/article/details/80746972

 

1. 参考文章

https://www.jianshu.com/p/0df5ad0d2e6a

https://blog.csdn.net/msf568834002/article/details/78881341

2. adb shell dumpsys meminfo 包名

adb shell dumpsys meminfo com.lava.cleanmaster

Applications Memory Usage (in Kilobytes):
Uptime: 21001939 Realtime: 501978173

** MEMINFO in pid 18213 [com.lava.cleanmaster] **
                   Pss  Private  Private  SwapPss     Heap     Heap     Heap
                 Total    Dirty    Clean    Dirty     Size    Alloc     Free
                ------   ------   ------   ------   ------   ------   ------
  Native Heap     4604     4540        0        0    16384     6316    10067
  Dalvik Heap     2444     2364        0        0     6538     4908     1630
 Dalvik Other      602      600        0        0                           
        Stack      108      108        0        0                           
       Ashmem        9        0        0        0                           
    Other dev        5        0        4        0                           
     .so mmap     1138      160        0       20                           
    .apk mmap      331        0        0        0                           
    .ttf mmap       22        0        0        0                           
    .dex mmap     5628       72     5556        0                           
    .oat mmap     1421        0        0        0                           
    .art mmap     1162      832        0        0                           
   Other mmap        9        4        0        0                           
   EGL mtrack      196      196        0        0                           
    GL mtrack     9017     9017        0        0                           
      Unknown      881      840       36        0                           
        TOTAL    27597    18733     5596       20    22922    11224    11697

 App Summary
                       Pss(KB)
                        ------
           Java Heap:     3196
         Native Heap:     4540
                Code:     5788
               Stack:      108
            Graphics:     9213
       Private Other:     1484
              System:     3268

               TOTAL:    27597       TOTAL SWAP PSS:       20

 Objects
               Views:       25         ViewRootImpl:        1
         AppContexts:        5           Activities:        1
              Assets:        4        AssetManagers:        2
       Local Binders:       11        Proxy Binders:       14
       Parcel memory:        3         Parcel count:       13
    Death Recipients:        0      OpenSSL Sockets:        0
            WebViews:        0

 SQL
         MEMORY_USED:        0
  PAGECACHE_OVERFLOW:        0          MALLOC_SIZE:        0

3. meminfo 信息横轴

3.1 Pss Total 实际使用内存

将跨进程共享页也加入进来, 进行按比例计算PSS。这样能够比较准确的表示进程占用的实际物理内存。

3.2 Private Dirty 或 Clean 私有内存

进程销毁时可以回收的内存容量

3.2.1 Private Dirty

通常private Dirty内存是最重要的部分,因为只被自己进程使用。Dirty内存是已经被修改的内存页,因此必须常驻内存(因为没有swap)

3.2.2 Private Clean

Clean内存是已经映射持久文件使用的内存页(例如正在被执行的代码),因此一段时间不使用的话就可以置换出去。

3.3 Heap Alloc

HeapAlloc 是Dalvik堆和本地堆分配使用的大小,它的值比Pss Total和Private Dirty大,因为进程是从Zygote中复制分裂出来的,包含了进程共享的分配部分。

4. meminfo 信息纵轴

4.1 Native Heap native

代码申请的内存, 堆和栈,及静态代码块等。

4.2 Dalvik Heap 虚拟机分配的内存

4.2.1 Pss Total 中的 Dalvik Heap

PSS Total包含所有Zygote分配使用的内存,共享跨进程加权。

4.2.2 PrivateDirty 中的 Dalvik Heap

PrivateDirty 是应用独占内存大小,包含独自分配的部分和应用进程从Zygote复制时被修改的Zygote分配的内存页。

4.3 … mmap

映射本地或虚拟机代码到使用的内存中

     .so mmap     1138      160        0       20                           
    .apk mmap      331        0        0        0                           
    .ttf mmap       22        0        0        0                           
    .dex mmap     5628       72     5556        0                           
    .oat mmap     1421        0        0        0                           
    .art mmap     1162      832        0        0                           
   Other mmap        9        4        0        0  

4.4 … mtrack

4.4.1 EGL mtrack

获取的是gralloc内存使用情况

4.4.1 GL mtrack

说明需要获取的是驱动程序报告的GL内存使用。它主要是GL纹理大小,GL命令缓冲区,固定的全局驱动程序RAM开销等的总和。

4.5 … Unknown

无法归类的其他项。主要包括大部分的本地分配。

4.5 TOTAL

进程总使用的实际内存。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值