CentOS 7 支持 Zswap 吗?如果是这样,我该如何启用它以及如何测试它是否有效?这对于 CentOS 服务器来说是个好主意吗?
启用尝试:
chmod 777 /sys/module/zswap/parameters/enabled;echo 1 > /sys/module/zswap/parameters/enabled; echo 40 > /sys/module/zswap/parameters/max_pool_percent
我尝试查看 zswap 是否已启用并正常工作的测试:
grep -R . /sys/kernel/debug/zswap/
返回:
grep: /sys/kernel/debug/zswap/: No such file or directory
下面什么都不返回:
dmesg | grep -i zswap
参数确实存在:
grep -R . /sys/module/zswap/parameters
返回:
/sys/module/zswap/parameters/zpool:zbud
/sys/module/zswap/parameters/max_pool_percent:40
/sys/module/zswap/parameters/enabled:Y
/sys/module/zswap/parameters/compressor:lzo
能五氯苯酚-pmda-zswap用于监控交换?
我最好的猜测是.. CentOS 并不正式支持 zswap,因为它应该在 dmesg 中加载...但我可能是错的。
答案1
Zswap 是 Linux 内核版本 3.11 中引入的一项功能。由于 CentOS7 附带内核版本 3.10,因此它不支持开箱即用的 Zswap。但是您可以在用新版本替换内核后使用您提供的命令启用它。
顺便说一句,如果您已经更新了内核版本,那么我怀疑这可能是因为您调用了chmod
系统文件,这可能被视为安全问题。
先尝试解决这些问题,然后告诉我你做得是否良好。 :)
可能有用的参考资料:
编译定制内核并将其安装在 CentOS 7 机器上的完整步骤:
# get source, use kernel version v4.11-rc8 as an example
git clone --depth 1 --branch v4.11-rc8 [email protected]:torvalds/linux.git
cd linux
# get default config file
# do nothing in GUI and save, then default config would be saved in .config
make menuconfig
# install build dependencies
sudo yum groupinstall "Development Tools"
sudo yum install ncurses-devel
sudo yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel openssl-devel
# new dependency to build kernel v4.x (CentOS 7 uses v3.10.x)
sudo yum install bc
# compile
make all -j
sudo make modules_install
sudo make install
# config grub
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo cat /boot/grub2/grub.cfg
# option depends on order in grub.cfg, 0 is the first one
sudo grub2-set-default 0
# check selection
sudo grub2-editenv list
# restart system with new kernel version
sudo reboot
- 要从 GitHub 克隆存储库,您可能需要一个 GitHub 帐户并将机器生成的公钥上传到该帐户。看看这些页面:
- 或者,您也可以直接从 kernel.org 克隆:哪里可以下载特定版本的Linux内核源代码?