Android 内存信息查看

本文探讨了Android系统中如何查看内存信息,包括内核预分配的物理总内存(MemTotal)及其在开机过程中的角色,以及通过`/proc/meminfo`和`dumpsys meminfo`命令来了解用户空间的可用内存和系统各组件的内存使用状况。
内存信息查看

手机内存分配

  1. Kernel Pre-allocation 内核预分配的 物理总内存 - MemTotal,包含各个模块reserved该部分可以在开机过程中内核中查看,也可以在开机log中看kernel的 code、rwdata、rodata、init、bss、reserved

    eg:
     Reserved memory: reserved region for node 'external_image__region@0': base 0x87b00000, size 5 MiB
    02-05 04:55:33.424     0     0 I Reserved memory: reserved region for node 'modem_adsp_region@0': base 0x88000000, size 80 MiB
    02-05 04:55:33.424     0     0 I Reserved memory: reserved region for node 'pheripheral_region@0': base 0x8d000000, size 5 MiB
    02-05 04:55:33.424     0     0 I Reserved memory: reserved region for node 'splash_region@83000000': base 0x83000000, size 12 MiB
    02-05 04:55:33.424     0     0 I Removed memory: created DMA memory pool at 0x87b00000, size 5 MiB
    02-05 04:55:33.424     0     0 I Reserved memory: initialized node external_image__region@0, compatible id removed-dma-pool
    02-05 04:55:33.424     0     0 I Removed memory: created DMA memory pool at 0x88000000, size 80 MiB
    02-05 04:55:33.424     0     0 I Reserved memory: initialized node modem_adsp_region@0, compatible id removed-dma-pool
    02-05 04:55:33.424     0     0 I Removed memory: created DMA memory pool at 0x8d000000, size 5 MiB
    02-05 04:55:33.424     0     0 I Reserved memory: initialized node pheripheral_region@0, compatible id removed-dma-pool
    02-05 04:55:33.424     0     0 I Reserved memory: allocated memory for 'venus_qseecom_region@0' node: base 0x8f800000, size 8 MiB
    02-05 04:55:33.424     0     0 I Reserved memory: created CMA memory pool at 0x8f800000, size 8 MiB
    02-05 04:55:33.424     0     0 I Reserved memory: initialized node venus_qseecom_region@0, compatible id shared-dma-pool
    02-05 04:55:33.424     0     0 I Reserved memory: allocated memory for 'audio_region@0' node: base 0xaf400000, size 4 MiB
    02-05 04:55:33.424     0     0 I Reserved memory: created CMA memory pool at 0xaf400000, size 4 MiB
    Memory  : 607972K/686080K available (9826K kernel code, 1030K rwdata, 4192K rodata, 770K init, 1361K bss, 78108K reserved)
    
  2. cat /proc/meminfo 中的MemTotal的内存为用户空间可用内存

    SW: # cat /proc/meminfo
    MemTotal:         651012 kB
    MemFree:            7644 kB
    MemAvailable:     267460 kB
    Buffers:           21040 kB
    Cached:           242492 kB
    SwapCached:         3532 kB
    Active:           196976 kB
    Inactive:         221948 kB
    Active(anon):      65160 kB
    Inactive(anon):    91480 kB
    Active(file):     131816 kB
    Inactive(file):   130468 kB
    Unevictable:         256 kB
    Mlocked:             256 kB
    SwapTotal:        393212 kB
    SwapFree:         195948 kB
    Dirty:                20 kB
    Writeback:             0 kB
    AnonPages:        154864 kB
    Mapped:            55256 kB
    Shmem:              1248 kB
    Slab:              57920 kB
    SReclaimable:      15796 kB
    SUnreclaim:        42124 kB
    KernelStack:       11216 kB
    PageTables:        19916 kB
    NFS_Unstable:          0 kB
    Bounce:                0 kB
    WritebackTmp:          0 kB
    CommitLimit:      718716 kB
    Committed_AS:   22133732 kB
    VmallocTotal:     245760 kB
    VmallocUsed:       77072 kB
    VmallocChunk:      84820 kB
    
    kernel dynamic:buffers + slab + page tables + kernel stack
    
  3. dumpsys meminfo 中可以看到安卓系统使用的内存情况(PSS),包含Native、Persistent、PersistentService、Visible、Perceptible、Foreground、Aservices、Bservices 、Cached等

    SW # dumpsys meminfo
    Applications Memory Usage (in Kilobytes):
    Uptime: 19700365 Realtime: 19700365
    
    Total PSS by process:
         46,595K: com.tencent.mm (pid 21254 / activities)
         31,179K: system (pid 2110)
         16,764K: com.tencent.mm:tools (pid 27161)
         ......
    
    Total PSS by OOM adjustment:
         30,415K: Native
              9,848K: surfaceflinger (pid 342)
              5,169K: app_process (pid 5765)
              4,905K: logd (pid 283)
                869K: rild (pid 379)
               ......
         62,344K: Persistent
             31,179K: system (pid 2110)
             ......
          5,321K: Persistent Service
              5,321K: com.android.bluetooth (pid 3086)
         24,458K: Visible
              3,471K: com.qualcomm.qti.contextualmode (pid 25749)
              .....
          3,850K: Perceptible
              3,850K: com.he.ardc (pid 5874)
         12,254K: A Services
             12,254K: com.tencent.mm:push (pid 25918)
         46,595K: Previous
             46,595K: com.tencent.mm (pid 21254 / activities)
          6,108K: B Services
              1,481K: com.qualcomm.qti.modemtestmode (pid 24885)
              1,324K: com.qualcomm.qualcommsettings (pid 20650)
              .......
         49,932K: Cached
             16,764K: com.tencent.mm:tools (pid 27161)
             14,325K: com.tencent.mm:toolsmp (pid 28104)
             12,846K: com.tencent.mm:appbrand1 (pid 27522)
             ......
    
    Total PSS by category:
         69,086K: Dalvik
         34,205K: Native
         22,500K: GL mtrack
         17,762K: .art mmap
         16,580K: Dalvik Other
         .....
    
    Total RAM:   651,012K (status moderate)
     Free RAM:   264,568K (   49,932K cached pss +   207,088K cached kernel +     7,548K free)
     Used RAM:   287,965K (  191,345K used pss +    96,620K kernel)
     Lost RAM:    29,967K
         ZRAM:    68,512K physical used for   197,528K in swap (  393,212K total swap)
       Tuning: 96 (large 256), oom   159,217K, restore limit    53,072K (high-end-gfx)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值