我设置了 zram 并在我的 Linux 机器中进行了广泛的测试,以衡量它对我的场景是否真的有帮助。但是,我很困惑 zram似乎耗尽了整个未压缩数据大小的内存。当我输入“zramctl”时,我看到:
NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram0 2G 853,6M 355,1M 367,1M 4 [SWAP]
Run Code Online (Sandbox Code Playgroud)
根据 zramctl 的帮助命令,DATA
是未压缩的大小和TOTAL
包含元数据的压缩内存。然而,当我输入 时swapon -s
,我看到以下输出:
Filename Type size used Priority
/dev/sda2 partition 1463292 0 4
/dev/zram0 partition 2024224 906240 5
Run Code Online (Sandbox Code Playgroud)
906240
是以千字节为单位的已用内存,可转换为DATA
zramctl 的 853,6M 值。这给人留下的印象是,压缩的 zram 设备需要的内存多于它节省的内存。一旦DATA
满了,它实际上开始交换到磁盘驱动器,因此它肯定已满。
为什么zram看似占用了原始数据大小的内存?COMPR
为什么它不是or的大小TOTAL
?网上好像还没有这方面的资料,因为我还没有找到这方面的任何信息。谢谢你!