内存管理-31-系统内存统计-6-dumpsys meminfo

 

一、dumpsys meminfo命令数据格式

基于Android-14(U)

# dumpsys meminfo
Applications Memory Usage (in Kilobytes):
Uptime: 2802229 Realtime: 2802229

Total RSS by process:
    313,100K: com.sam.systemui (pid 1848 / activities)
    169,676K: zygote64 (pid 789)
     78,672K: surfaceflinger (pid 983)
     23,076K: init (pid 1)
     22,208K: android.hardware.audio.service.mediatek (pid 812)
      9,972K: sh (pid 10262)
      ...

Total RSS by OOM adjustment:
  1,851,392K: Native
        169,676K: zygote64 (pid 789)
         21,144K: adbd (pid 10227)
          6,744K: android.hardware.boot-service (pid 415)
          ...
    478,508K: System
        478,508K: system (pid 1116) //system_server
  5,472,900K: Persistent
      1,011,564K: com.sam.systemui (pid 2700)
        135,884K: com.android.phone (pid 1853)
        ...
    144,808K: Persistent Service
        144,808K: com.android.providers.media.module (pid 2664)
    926,208K: Foreground
        184,780K: com.sam.car.settings (pid 1955 / activities)
        158,308K: com.sam.caraccount (pid 4090)
        ...
  2,230,584K: Visible
        134,912K: com.sam.btphone (pid 5527)
        111,776K: android.ext.services (pid 3481) (user 10)
        ...
  2,248,828K: Perceptible
        298,372K: com.sam.xpime (pid 6680)
        109,052K: com.mediatek.location.mtkgeofence (pid 3072)
        ...
    432,464K: B Services
        150,188K: com.sam.cardiagnosis (pid 6306)
        146,616K: com.sam.autoshow (pid 6268)
  1,985,924K: Cached
        142,932K: com.sam.appstore (pid 3227)
        122,924K: com.android.rkpdapp (pid 4404)
        121,332K: android.process.media (pid 10238)
        ...

Total RSS by category:
  3,211,292K: .so mmap
  2,734,456K: Native
  2,360,968K: .art mmap
  2,219,852K: .jar mmap
  1,278,964K: Dalvik
    897,860K: .apk mmap
    790,088K: Unknown
    785,988K: .oat mmap
    666,164K: GL mtrack
    310,316K: Other mmap
    190,000K: Dalvik Other
    107,376K: .dex mmap
     92,688K: Other dev
     59,080K: Ashmem
     54,824K: Stack
     11,700K: .ttf mmap
          0K: Cursor
          0K: Gfx dev
          0K: EGL mtrack
          0K: Other mtrack

Total PSS by process:
  1,022,509K: com.sam.carspeech (pid 3186)
    302,883K: system (pid 1116) //system_server
     55,368K: surfaceflinger (pid 983)
     16,719K: adbd (pid 10227)
     ...

Total PSS by OOM adjustment:
  1,722,628K: Native
        165,303K: mtkfastavm (pid 2765)
         86,557K: camerahalserver (pid 1208)
         55,368K: surfaceflinger (pid 983)
         ...
    302,883K: System
        302,883K: system (pid 1116) //system_server
  2,538,575K: Persistent
        872,594K: com.sam.instrument (pid 2700)
          6,862K: com.android.se (pid 1819)
          ...
     24,735K: Persistent Service
         24,735K: com.android.providers.media.module (pid 2664)
    480,609K: Foreground
        301,723K: com.sam.car.settings (pid 3164 / activities)
        ...
  1,178,460K: Visible
      1,022,509K: com.sam.carspeech (pid 3186)
      ...
    776,717K: Perceptible
        164,267K: com.sam.xpime (pid 6680)
          8,965K: com.sam.car.ai (pid 3773)
          ...
     85,791K: B Services
         35,394K: com.sam.cardiagnosis (pid 6306)
         ...
    177,923K: Cached
         28,034K: com.sam.appstore (pid 3227)
         ...

Total PSS by category:
  1,876,492K: Native
    790,289K: Dalvik
    670,243K: .apk mmap
    666,164K: GL mtrack
    590,036K: .so mmap
    568,452K: Unknown
    133,191K: Dalvik Other
    126,129K: Other mmap
     90,951K: .art mmap
     89,693K: .jar mmap
     54,220K: Stack
     37,382K: .dex mmap
     20,804K: Ashmem
     15,118K: .oat mmap
     10,031K: .ttf mmap
      6,072K: Other dev
          0K: Cursor
          0K: Gfx dev
          0K: EGL mtrack
          0K: Other mtrack

Total RAM: 11,194,640K (status normal)
 Free RAM: 2,568,179K (  177,923K cached pss + 1,919,984K cached kernel +   470,272K free)
DMA-BUF: 1,063,552K (  321,048K mapped +   742,504K unmapped)
DMA-BUF Heaps:   716,532K
DMA-BUF Heaps pool:         0K
      GPU: 1,027,356K (  361,192K dmabuf +   666,164K private)
 Used RAM: 9,429,898K (6,765,282K used pss + 2,664,616K kernel)
 Lost RAM:   467,185K
     ZRAM:   272,432K physical used for 1,584,128K in swap (6,157,048K total swap)
   Tuning: 256 (large 512), oom   322,560K, restore limit   107,520K (high-end-gfx)

注:"Total PSS by OOM adjustment" 下的 Persistent 类型的app,被kill掉后会自动重启。

 

1. 相关名词介绍

RSS(Resident Set Size)‌:
这是进程当前在物理内存中占用的空间,包括进程本身和所有链接库。RSS是评估进程内存占用的一个重要指标,它直接反映了进程当前实际使用的物理内存量‌。但由于包含了共享库,用处不大。

PSS(Proportional Set Size)‌:
与RSS不同,PSS考虑了共享内存的情况,它计算了每个进程对共享内存的贡献,并通过等比例来分配共享内存的使用量PSS更适合用来比较不同进程的内存使用情况,因为它避免了重复计算共享内存的问题‌。
此数据非常有用,因为系统中所有进程的PSS都相加的话,就刚好反映了系统中的总共被占用的内存量。而当一个进程被销毁之后, 其占用的共享库那部分比例的PSS,将会再次按比例分配给余下使用该库的进程。

USS(Unique Set Size):
是进程独占的物理内存量,不考虑共享库占用的内存。USS可以用来计算某个进程真正独占的内存资源‌。
USS是非常有用的数据,因为它反映了运行一个特定进程真实的边际成本(增量成本)。当一个进程被销毁后,USS是真实返回给系统的内存。当进程中存在一个可疑的内存泄露时,USS是最佳观察数据。

VSS(Virtual Set Size)
虚拟内存占用,包含共享库,以及分配但未使用内存。其大小还包括可能不在RAM中的内存(比如虽然malloc分配了空间,但尚未写入)。VSS 很少被用于判断一个进程的真实内存使用量,用处不大。

 

优秀BK:

dumpsys meminfo 的原理和应用: https://www.cnblogs.com/Linux-tech/p/12961295.html

 

posted on 2024-10-16 21:15  Hello-World3  阅读(234)  评论(0)    收藏  举报

导航