分享

adb shell dumpsys meminfo 详解

 创始元灵6666 2022-05-18 发布于河北

dumpsys meminfo详解

adb shell dumpsys meminfo [pkg/pid] 可以用来查看指定进程包名的内存使用情况

dumpsys meminfo -h 帮助

meminfo dump options: [-a] [-d] [-c] [-s] [--oom] [process]

-a: include all available information for each process.

-d: include dalvik details.

-c: dump in a compact machine-parseable representation.

-s: dump only summary of application memory usage.

-S: dump also SwapPss.

--oom: only show processes organized by oom adj.

--local: only collect details locally, don't call process.

--package: interpret process arg as package, dumping all

processes that have loaded that package.

--checkin: dump data for a checkin

If [process] is specified it can be the name or

pid of a specific process to dump.

名词概念:

虚拟内存:进程空间内的虚拟内存地址,理论上32位cpu一个进程有4GB的虚拟内存可以使用。

物理内存:就是真正写的到内存条上的,真实地址对进程不可见,由操作系统把虚拟内存地址映射到物理内存地址。

Size:指的就是分配了多少虚拟内存

Rss、Pss指的是实际物理内存使用的大小,由于这个内存段是纯new出来的,没有共享库,所以这两个值是一样的。由于只给4MB的数组赋值,操作系统只给分配了4MB的真实物理内存。

Objects是统计App内部组件对象个数,其中Views、ViewRootImpl以及Activities个数,在Activity onDestroy后应该都会回收清零,如果onDestroy调用后这几个对象个数没有清零,就可能发生了内存泄漏。

android程序内存被分为2部分:native和dalvik,dalvik就是java堆,普通java对象是在java堆分配,而bitmap是直接在native上分配,对于内存的限制是 native+dalvik 不能超过最大限制。

名词解释:

名词

说明 

补充 

Uptime

表示启动到现在的时长,不包含休眠的时间,单位毫秒(ms)

Realtime

表示启动到现在的时长,包含休眠的时间,单位毫秒(ms)

Native Heap

指c 中malloc出来的堆空间

扩展:c++申请的内存为native process,java申请的内存:java process

Dalvik Heap

指java中new出来的java堆空间

只是占用的虚拟内存的空间

Pss Total

指占用了真实的物理内存的空间

private dirty

指私有驻留内存

扩展:进程内存空间是虚拟内存,区分于物理内存,进程无法直接操作物理内存RAM。必要时,操作系统对其进行映射,使进程能应用到物理内存

Heap Size

指占用总内存(Heap  堆)

Heap Alloc

指在虚拟地址中分配了这么多空间

Heap Free

空闲内存

注:因为Android系统对dalvik的vm heapsize作了硬性限制,当java进程申请的java空间超过阈值时,就会抛出OOM异常(这个阈值可以是48M、24M、16M等,视机型而定)

查看单个应用最大内存限制,输入命令:getprop|grep heapgrowthlimit  得到结果该机型为192M。dalvik process 超过就会抛OOM异常

复制代码

Applications Memory Usage (in Kilobytes): Uptime: 246353123 Realtime: 292602983** MEMINFO in pid 8410 [com.doctopia.zeroe] **                    Pss  Private  Private  SwapPss     Heap     Heap     Heap                  Total    Dirty    Clean    Dirty     Size    Alloc     Free                 ------   ------   ------   ------   ------   ------   ------   Native Heap    52421    52336       24        0    82432    61868    20563   Dalvik Heap    31844    31816        4        0    38652    30460     8192  Dalvik Other    14051    14048        0       12Stack     3640     3640        0       28   Ashmem       80       48        0        0  Gfx dev    12848    12288      560        0Other dev       76        0       76        0 .so mmap     2292      936      252       95.jar mmap        0        0        0        0.apk mmap     1642       76     1064        0.ttf mmap        0        0        0        0.dex mmap     6073     5860      132        4.oat mmap     2153        0        0        0.art mmap     2682     2408        8       82    Other mmap      312        8      184        0    EGL mtrack      432      432        0        0GL mtrack    26160    26160        0        0  Unknown    14579    14576        0       18TOTAL   171524   164632     2304      239   121084    92328    28755  App Summary                        Pss(KB)                         ------            Java Heap:    34232 Native Heap:    52336Code:     8320   Stack:     3640Graphics:    39440   Private Other:    28968  System:     4588   TOTAL:   171524       TOTAL SWAP PSS:      239  Objects                Views:      821         ViewRootImpl:        2 AppContexts:        6           Activities:        3  Assets:        6        AssetManagers:        3   Local Binders:       62        Proxy Binders:       36   Parcel memory:       24         Parcel count:       98Death Recipients:        2      OpenSSL Sockets:       25WebViews:        1  SQL          MEMORY_USED:      279   PAGECACHE_OVERFLOW:       76          MALLOC_SIZE:       62  DATABASES       pgsz     dbsz   Lookaside(b)          cache  Dbname         4       24             38      1254/33/7  /data/user/0/com.doctopia.zeroe/databases/sensorsdata         4       60            136      141/56/20  /data/user/0/com.doctopia.zeroe/databases/bugly_db_  Asset Allocations     zip:/data/app/com.doctopia.zeroe-1/base.apk:/resources.arsc: 972K

复制代码

其他常用服务信息查询

内存 adb shell dumpsys meminfo

CPU adb shell dumpsys cpuinfo

帧率 adb shell dumpsys gfxinfo

显示 adb shell dumpsys display

电源 adb shell dumpsys power

电池状态 adb shell dumpsys batterystats

电池 adb shell dumpsys battery

闹钟 adb shell dumpsys alarm

位置 adb shell dumpsys location

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多