Apa itu "Lost RAM" di dumpsys meminfo?

8

Di bawah ini adalah contoh dumpsysdengan Lost RAM. Apa artinya di KitKat? Bagaimana itu bisa direklamasi dan digunakan?

Total PSS by OOM adjustment:
    31841 kB: Native
               13173 kB: zygote (pid 23001)
                4372 kB: surfaceflinger (pid 23000)
                3721 kB: mediaserver (pid 126)
                3317 kB: glgps (pid 22993)
                1656 kB: drmserver (pid 125)
                 995 kB: wpa_supplicant (pid 23148)
                 786 kB: netd (pid 121)
                 518 kB: sdcard (pid 132)
                 475 kB: vold (pid 119)
                 458 kB: keystore (pid 128)
                 448 kB: /init (pid 1)
                 412 kB: adbd (pid 134)
                 254 kB: ueventd (pid 108)
                 238 kB: dhcpcd (pid 10617)
                 229 kB: tf_daemon (pid 130)
                 200 kB: installd (pid 127)
                 185 kB: dumpsys (pid 14207)
                 144 kB: healthd (pid 117)
                 139 kB: debuggerd (pid 122)
                 121 kB: servicemanager (pid 118)
    48217 kB: System
               48217 kB: system (pid 23064)
    49095 kB: Persistent
               34012 kB: com.android.systemui (pid 23163 / activities)
                7719 kB: com.android.phone (pid 23357)
                4676 kB: com.android.nfc (pid 23371)
                2688 kB: com.nuance.xt9.input (pid 23344)
    24945 kB: Foreground
               24945 kB: com.android.settings (pid 24811 / activities)
    17136 kB: Visible
               14026 kB: com.google.process.location (pid 23472)
                3110 kB: com.android.defcontainer (pid 13976)
     6911 kB: Perceptible
                6911 kB: com.google.android.inputmethod.latin (pid 23298)
    14277 kB: A Services
               14277 kB: com.google.process.gapps (pid 23513)
    26422 kB: Home
               26422 kB: com.android.launcher (pid 23395 / activities)
    21798 kB: B Services
               16242 kB: com.google.android.apps.currents (pid 23767)
                5556 kB: android.process.media (pid 7738)
   145869 kB: Cached
               41588 kB: com.google.android.apps.plus (pid 24689)
               21417 kB: com.google.android.deskclock (pid 23966 / activities)
               14463 kB: com.google.android.apps.docs (pid 8644)
               14303 kB: com.google.android.gm (pid 9115)
               11014 kB: com.google.android.music:main (pid 7716)
               10688 kB: com.google.android.apps.magazines (pid 13892)
               10240 kB: com.google.android.gms (pid 23338)
                9882 kB: com.google.android.youtube (pid 5131)
                8807 kB: com.google.android.apps.walletnfcrel (pid 8937)
                3467 kB: com.google.android.setupwizard (pid 8922)

Total RAM: 998096 kB
 Free RAM: 574945 kB (145869 cached pss + 393200 cached + 35876 free)
 Used RAM: 392334 kB (240642 used pss + 107196 buffers + 3856 shmem + 40640 slab)
 Lost RAM: 30817 kB
   Tuning: 64 (large 384), oom 122880 kB, restore limit 40960 kB (high-end-gfx)
stat
sumber
Perhitungan pendek (menjawab judul dari pertanyaan Anda): "Lost RAM" = total - used - free. Hm, memori bocor? Klaim kembali dengan reboot? 30 MB mungkin tidak banyak (dibandingkan dengan total 1 GB), tetapi 3% dan tidak menyenangkan ...
Izzy
Saya memiliki 300MB + kehilangan RAM setiap saat di perangkat saya. Saya juga ingin tahu mengapa itu hilang dan apakah ada cara untuk memperolehnya kembali.
Wang Dingwei
stackoverflow.com/questions/21881122/… mungkin ini bisa membantu
samnaction

Jawaban:

7

RAM yang hilang adalah TotalRAM - FreeRAM - UsedRAM. Itu artinya, perbedaan antara penggunaan RAM yang dapat dihitung oleh Android dan RAM yang tersedia sebenarnya.

Kadang-kadang bahkan bisa negatif, karena masalah di mana RAM dibagikan di seluruh proses dihitung lebih dari satu kali. Driver sebagian besar disalahkan untuk itu. Ada memtrackHAL bagi mereka untuk melaporkan penghitungan memori mereka ke Android, tetapi beberapa driver tidak melakukannya dengan benar.

Jika Anda melihat nilai "Lost RAM" yang besar (yang tidak terjadi pada pertanyaan awal, tetapi yang dibicarakan Wang), ini mungkin disebabkan oleh bug, sayangnya, itu tidak dapat direklamasi, sayangnya. Anda dapat melihat /d/iondirektori virtual di perangkat Anda (mungkin diperlukan perangkat yang di-rooting), dan memeriksa laporan di dalamnya, mencari alokasi "yatim".

Mikhail Naganov
sumber