Ниже приведен пример dumpsys
с потерянной оперативной памятью. Каково его значение в KitKat? Как его можно рекультивировать и использовать?
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)
Потерянная оперативная память TotalRAM - FreeRAM - UsedRAM
. Это означает, что это разница между использованием оперативной памяти, которую Android может вычислить, и фактической доступной оперативной памятью.
Иногда он может быть даже отрицательным из-за проблем, когда оперативная память, совместно используемая процессами, учитывается более одного раза. Чаще всего в этом винят водителей. Для них есть memtrack
HAL, чтобы сообщать Android об их учете памяти, но некоторые драйверы просто делают это неправильно.
Если вы видите большое значение «Потеря ОЗУ» (чего нет в исходном вопросе, но это то, о чем говорит Ван), это, вероятно, связано с ошибкой, к сожалению, ее нельзя восстановить. Вы можете заглянуть в /d/ion
виртуальный каталог на вашем устройстве (вероятно, требуется рутированное устройство) и просмотреть в нем отчеты в поисках «осиротевших» выделений.
Иззи
"Lost RAM" = total - used - free
. Хм, утечки памяти? Восстановить перезагрузкой? 30 МБ может и не много (по сравнению с 1 ГБ), но это 3% и неинтересно...Ван Динвэй
самонадеянность