如何控制 zram 似乎相当令人困惑。我想将我的 zram 大小从 8G 更改为 10G,也许稍后更改为 12G(我总共有 16G)。我已进入 /etc/initramfs-tools/initramfs.conf 并将 COMPCACHE_SIZE 更改为“10G”,之后我执行了此操作update-initramfs
并重新启动,但这没有任何变化。我确实已zram-config
安装,它给了我:
NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT /dev/zram0 lzo 1.9G 4K 81B 12K 1 [SWAP] /dev/zram1 lzo 1.9G 4K 81B 12K 1 [SWAP] /dev/zram2 lzo 1.9G 4K 81B 12K 1 [SWAP] /dev/zram3 lzo 1.9G 4K 81B 12K 1 [SWAP]
查看手册页zramctl
,另一种方法似乎是创建 zram4 设备:
zramctl zram4 -s <size> -a lzo
虽然在这种情况下我不确定是否要使用 2G,因为其他每个设备似乎都是 1.9G。完成后,我是否需要执行 mkswap 和 swapon?如果需要,重启后还能继续使用吗?另外,有人声称zramctl 只会压缩“最多一半的内存”, 尽管Debian wiki 中的这个脚本似乎表明 75% 是可能的。
在 askubuntu 上搜索,我发现了其他各种答案,包括使用 zramctl 更改已给定设备的大小. 另一个答案建议编辑 /usr/bin/init-zram-swapping,这是 /sbin/zram-config-start 的新位置(请参阅 /etc/init/zram-config.conf)。另一个答案,在几个不同的地方找到,建议直接编辑 /sys/block/zram*/disksize再往前追溯,还有更多的答案,包括添加 /etc/init.d/zram,编辑 /etc/rc.local和编辑 /etc/init。所以在破坏已经正常运行的系统之前,有人能给我一些提示吗?
为什么编辑 /etc/initramfs-tools/initramfs.conf 不起作用?
为什么我的 zram* 设备大小是 1.9G 而不是 2.0G?
我是否应该使用 zramctl 创建一个新的 1.9G/2.0G 设备?(哪种尺寸?)
或者我应该使用 zramctl 来调整已经存在的设备的大小?(调整多少?)
或者我应该编辑 /usr/bin/init-zram-swapping?
或者我应该通过编辑 /sys/block/zram*/disksize 来调整设备大小?
或者我应该使用 /etc/init*、/etc/rc.local 中的任何一个方法?
并且,我能用其中任何一种方法压缩一半以上的 RAM 吗?
另外,我需要做什么才能使其在重启后继续存在?
我感兴趣的不仅是哪种方法可能有效,而且还为什么会有这么多令人困惑的答案。