Android dumpsys meminfo "Swapped Dirty" 列是什么意思?
Android dumpsys meminfo "Swapped Dirty" coloumn meaning?
有很多关于 "adb shell dumpsys meminfo" 输出的问题,例如:
adb shell dumpsys meminfo - What is the meaning of each cell of its output?
现在我们有了这篇描述内存分配类型的好文章:
https://developer.android.com/tools/debugging/debugging-memory.html
然而,没有提到 "Swapped Dirty" 类型的内存分配。这是什么兽? AFAIK,Android 不会交换脏页,但有时我会在该列中得到非零值:
Pss Private Private Swapped Heap Heap Heap
Total Dirty Clean Dirty Size Alloc Free
------ ------ ------ ------ ------ ------ ------
Native Heap 3861 3844 0 2024 7128 6801 326
Dalvik Heap 7073 6996 0 5408 45111 31778 13333
一些 Android 设备确实使用交换,但它们交换到 RAM 而不是闪存。 Linux 有一个称为 ZRAM 的功能,可以压缩页面,然后将它们交换到一个特殊的 RAM 区域,并在需要时再次解压缩。
因此 "Swapped Dirty" 中列出的页面很可能在 ZRAM 中。
有很多关于 "adb shell dumpsys meminfo" 输出的问题,例如: adb shell dumpsys meminfo - What is the meaning of each cell of its output? 现在我们有了这篇描述内存分配类型的好文章: https://developer.android.com/tools/debugging/debugging-memory.html
然而,没有提到 "Swapped Dirty" 类型的内存分配。这是什么兽? AFAIK,Android 不会交换脏页,但有时我会在该列中得到非零值:
Pss Private Private Swapped Heap Heap Heap
Total Dirty Clean Dirty Size Alloc Free
------ ------ ------ ------ ------ ------ ------
Native Heap 3861 3844 0 2024 7128 6801 326
Dalvik Heap 7073 6996 0 5408 45111 31778 13333
一些 Android 设备确实使用交换,但它们交换到 RAM 而不是闪存。 Linux 有一个称为 ZRAM 的功能,可以压缩页面,然后将它们交换到一个特殊的 RAM 区域,并在需要时再次解压缩。
因此 "Swapped Dirty" 中列出的页面很可能在 ZRAM 中。