服务器配置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