通过写入零页来修剪 zram

通过写入零页来修剪 zram

我以以下方式使用 ZRAM 作为 /tmp 文件系统的后备块设备:

echo 8000000000 > /sys/block/zram0/disksize
mkfs.ext4 -O dir_nlink,extent,extra_isize,flex_bg,^has_journal,uninit_bg -m0 \
          -b 4096 -L "zram0" /dev/zram0
mount -o barrier=0,commit=240,noatime,nodev,nosuid /dev/zram0 /tmp
chmod aogu+rwx /tmp

对我来说,效果还不错 - 但是,这里有一个问题 - 当文件被删除时,它们不会被清零,因此 ZRAM 不会远程控制压缩页面。显然运行

dd if=/dev/zero of=/tmp/ZERO bs=1M count={free-space-some-rest}; rm /tmp/ZERO

在 ZRAM 中将其清除 - 它会收到零页通知并缩小存储。

如何让 ext4 在删除时清空已使用的页面?此外,还有其他关于如何优化的建议吗?

答案1

尝试启用discardExt4 文件系统的挂载选项并运行最新的 Linux 内核。此选项主要用于 SSD。同时,它目前由zram也。

答案2

使用 fstrim 命令: fstrim -v /tmp

相关内容