概念澄清与总体思路 在 CentOS 中,常被称作“swapper”的其实是内核的交换机制(swap)与其参数(如 vm.swappiness)。目标是:在保障稳定性的前提下,减少不必要的换页,优先使用物理内存,从而降低由磁盘 I/O 带来的延迟与抖动。一般原则是:内存充足时降低对 swap 的依赖;内存紧张时保留适量 swap 作为缓冲,避免 OOM 终止进程。
快速检查与监控
free -hswapon --showvmstat 1、iostat -x 1、top/htopvmstat 中的 si/so(swap in/out)长期不为 0,说明存在换页压力。关键参数与推荐设置
sudo sysctl vm.swappiness=10/etc/sysctl.conf 添加 vm.swappiness=10 后执行 sudo sysctl -psudo sysctl vm.vfs_cache_pressure=50/etc/fstab 中为更快的设备设置更高优先级(如 pri=10),例如:/swapfile none swap sw,pri=10 0 0sudo swapoff -a(临时);如需永久禁用,需从 /etc/fstab 移除相应条目并谨慎评估。Swap 大小与位置建议
操作步骤示例
free -h、swapon --showsudo sysctl vm.swappiness=10,并在 /etc/sysctl.conf 写入 vm.swappiness=10 后 sudo sysctl -psudo sysctl vm.vfs_cache_pressure=50 并持久化sudo fallocate -l 8G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfile/etc/fstab 添加:/swapfile swap swap defaults 0 0/swapfile none swap sw,pri=10 0 0free -h、swapon --show、vmstat 1vmstat 的 si/so、应用延迟与 I/O 情况微调参数。