Ubuntu Swapper(交换空间)配置最佳实践
Swap(交换空间)是Ubuntu系统中关键的虚拟内存扩展机制,用于物理内存(RAM)不足时临时存储不活跃数据,避免进程崩溃并支持休眠功能。合理配置Swap能平衡系统稳定性与性能,以下是具体最佳实践:
Swap大小的设置需根据物理内存容量、是否需要休眠及使用场景综合判断:
Ubuntu 16.04及以上版本默认推荐Swap文件,因其更灵活,便于扩容或缩小,无需重新分区:
sudo fallocate -l 4G /swapfile # 创建4GB Swap文件(需root权限)
sudo chmod 600 /swapfile # 设置权限(仅root可读写,防止敏感数据泄露)
sudo mkswap /swapfile # 格式化为Swap格式
sudo swapon /swapfile # 启用Swap
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # 开机自动启用
vm.swappiness是内核参数,决定系统使用Swap的积极性(值范围0-100):
sudo sysctl vm.swappiness=10;/etc/sysctl.conf,添加vm.swappiness=10,保存后运行sudo sysctl -p使配置生效。sudo apt install zram-config或手动配置启用。sudo swapon --show查看当前Swap设备及其大小、使用量;或使用free -h查看内存与Swap的总使用情况(更直观)。vmstat 1(每秒刷新)或htop(交互式界面)监控内存与Swap的实时使用率,关注si(Swap In,从Swap读取数据的速率)和so(Swap Out,向Swap写入数据的速率)指标,若持续较高,说明系统频繁使用Swap,需调整配置。swapoff /swapfile,再用fallocate调整大小,最后重新mkswap和swapon);若不再需要Swap,可彻底删除(rm /swapfile并从/etc/fstab中移除对应行)。si/so值持续>100KB/s),应优先增加物理内存或优化应用内存使用(如关闭后台无用进程、调整应用内存限制)。sudo chmod 600 /swapfile),防止其他用户读取敏感数据。