目录

目录

服务器配置Zswap

目录

zswap 是一种内存压缩技术, 适合内存比较紧张, 并带有 SSD 的服务器, 这里用阿里云 2c2g 服务器作为示范.

zswap 依赖 swap, 所以首先创建 swap 文件:

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

其中 swap 大小依据实际情况配置.

之后在 fstab 写入:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

之后验证挂载是否成功:

sudo mount -a
swapon --show

由于我们启用 zswap, 所以需要调整 swappiness 权重让系统更加激进地使用 swap, 在 /etc/sysctl.conf 中添加或修改:

vm.swappiness=100

这个值默认是 60, 范围是 0-200.

之后在 /etc/default/grub 中修改内核启动参数:

GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1 zswap.compressor=zstd zswap.zpool=zsmalloc zswap.max_pool_percent=25"

GRUB_CMDLINE_LINUX_DEFAULT 如果有其它参数需要保留.

之后重新生成 grub 配置并重启:

sudo update-grub
sudo reboot

重启后查看是否真正启动:

# 查看当前是否启用
# Y:启用; N:未启用
cat /sys/module/zswap/parameters/enabled
# 查看压缩后的存储池占用情况(单位:字节)
sudo grep -r . /sys/kernel/debug/zswap