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

 

一、dumpsys meminfo命令数据格式

Exynos:/ # dumpsys meminfo
Applications Memory Usage (in Kilobytes):
Uptime: 9463100 Realtime: 9463100

Total PSS by process:
    452,701K: com.sumsung.speech (pid 2297)
    266,607K: system (pid 936)
     79,088K: vendor.qti.hardware.camera.provider@1.0-service (pid 1564)
     52,260K: surfaceflinger (pid 632)
     24,227K: logd (pid 511)
     20,113K: media.codec (pid 844)
     17,532K: zygote (pid 549)
     14,423K: zygote64 (pid 548)
      9,137K: audioserver (pid 624)
        548K: lmkd (pid 630)

Total PSS by OOM adjustment:
    393,763K: Native
         52,260K: surfaceflinger (pid 632)
         25,566K: android.hardware.automotive.vehicle@2.0-service (pid 589)
         24,227K: logd (pid 511)
         20,113K: media.codec (pid 844)
         17,532K: zygote (pid 549)
         14,423K: zygote64 (pid 548)
          9,137K: audioserver (pid 624)
          8,621K: vendor.xpeng.imgproc@1.0-service (pid 854)
            548K: lmkd (pid 630)
    266,607K: System
        266,607K: system (pid 936)
  1,309,857K: Persistent
         95,245K: com.sumsung.systemui (pid 1260)
         18,996K: com.android.car (pid 1060)
          6,800K: com.android.se (pid 2024)
    271,652K: Foreground
        142,321K: com.sumsung.carcontrol (pid 4206 / activities)
         87,433K: com.sumsung.music (pid 3140 / activities)
    715,782K: Visible
        452,701K: com.sumsung.speech (pid 2297)
          5,088K: android.ext.services (pid 1472)
    285,489K: Perceptible
        108,827K: com.sumsung.xpime (pid 3369)
         34,151K: com.sumsung.car.settings (pid 1280)
         28,144K: com.sumsung.coreservice (pid 3984)
      9,471K: Home
          9,471K: com.sumsung.home (pid 4093)
    112,145K: B Services
         38,961K: com.sumsung.btphone (pid 3392 / activities)
         31,811K: com.sumsung.diagnostic (pid 3116)
     38,798K: Cached
         15,407K: com.sumsung.autoshow (pid 4099)

Total PSS by category:
    901,193K: Native
    427,198K: Dalvik
    367,234K: .dex mmap
    285,568K: .so mmap
    265,684K: Gfx dev
    215,416K: EGL mtrack
    200,467K: .art mmap
    187,508K: Unknown
    176,136K: GL mtrack
    147,411K: .apk mmap
     93,702K: Other mmap
     92,178K: Dalvik Other
     24,021K: .oat mmap
     10,096K: Ashmem
      5,868K: Stack
      2,332K: .ttf mmap
      1,364K: Other dev
        188K: .jar mmap
          0K: Cursor
          0K: Other mtrack

Total RAM: 7,994,116K (status critical)
 Free RAM: 3,648,862K (   38,798K cached pss +   233,312K cached kernel + 3,376,752K free)
 Used RAM: 4,129,262K (3,364,766K used pss +   764,496K kernel)
 Lost RAM:   215,980K
     ZRAM:        12K physical used for         0K in swap (  524,284K 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 很少被用于判断一个进程的真实内存使用量,用处不大。

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

导航