CentOS Swap优化设置指南
一 容量规划与选择
容量建议(按物理内存与场景)
类型选择
二 创建与启用 Swap
sudo dd if=/dev/zero of=/swapfile bs=1G count=16
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
/swapfile swap swap defaults 0 0
sudo mkswap /dev/sdb1
sudo swapon /dev/sdb1
/dev/sdb1 swap swap defaults 0 0
free -h
swapon --show
cat /proc/swaps
以上步骤适用于 CentOS 7/8/Stream 等常见版本。
三 关键内核参数与优先级
cat /proc/sys/vm/swappiness
sudo sysctl vm.swappiness=10
echo "vm.swappiness = 10" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
sudo modprobe zram
echo lz4 > /sys/block/zram0/comp_algorithm
echo 2G > /sys/block/zram0/disksize
sudo mkswap /dev/zram0
sudo swapon /dev/zram0 -p 32767 # 提高优先级,优先使用 zram
/dev/zram0 swap swap defaults,pri=32767 0 0
/swapfile swap swap defaults,pri=10 0 0
以上参数与方法可显著降低磁盘抖动并提升内存紧张场景的稳定性。
四 监控与常见优化动作
free -h # 内存与 Swap 使用概览
cat /proc/meminfo # 细粒度内存指标(如 SwapTotal/SwapFree)
vmstat 1 10 # 观察 si/so(换入/换出)是否持续不为 0
top/htop # 实时进程与内存占用
iostat -x 1 # 磁盘 IO 压力(swap 落盘时关注 await、svctm)