Ubuntu Swap优化方法
导读:Ubuntu Swap优化方法 1. 创建/调整Swap文件大小 Swap文件是Ubuntu中最常用的交换空间形式,可根据物理内存大小调整其容量。 创建Swap文件:使用fallocate命令快速创建指定大小的Swap文件(如4GB),若...
Ubuntu Swap优化方法
1. 创建/调整Swap文件大小
Swap文件是Ubuntu中最常用的交换空间形式,可根据物理内存大小调整其容量。
- 创建Swap文件:使用
fallocate
命令快速创建指定大小的Swap文件(如4GB),若fallocate
不可用,可用dd
命令替代。sudo fallocate -l 4G /swapfile # 创建4GB Swap文件 sudo chmod 600 /swapfile # 设置严格权限(仅root可访问) sudo mkswap /swapfile # 格式化为Swap格式 sudo swapon /swapfile # 启用Swap文件
- 永久生效:将Swap文件添加到
/etc/fstab
文件,确保系统重启后自动加载。echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
- 调整大小:若需扩大Swap文件,先禁用现有文件,修改大小后重新格式化并启用。
sudo swapoff /swapfile # 禁用Swap文件 sudo fallocate -l 8G /swapfile # 调整为8GB(示例) sudo mkswap /swapfile # 重新格式化 sudo swapon /swapfile # 重新启用
2. 调整Swappiness参数
Swappiness是控制内核使用Swap频率的关键参数(取值0-100),值越低,系统越倾向于使用物理内存,减少Swap依赖。
- 查看当前值:
cat /proc/sys/vm/swappiness
- 临时修改(立即生效,重启失效):
sudo sysctl vm.swappiness=10 # 推荐值:10-30(内存充足时可设为10以下)
- 永久修改:编辑
/etc/sysctl.conf
文件,添加以下行:
执行vm.swappiness=10
sudo sysctl -p
使修改生效。
3. 选择高性能存储介质
Swap的性能高度依赖存储介质的读写速度,优先将Swap文件放在SSD上(尤其是NVMe SSD),可显著提升Swap操作速度。若系统已有SSD,确保Swap文件位于SSD分区(如/
根目录或/home
目录下的Swap文件)。
4. 监控Swap使用情况
定期监控Swap使用状态,判断优化效果及是否需要进一步调整:
- 查看Swap总量及使用量:
free -h
- 查看详细Swap使用情况(包括进程级占用):
sudo swapon --show sudo top # 或 htop(需安装)
5. 清理不必要的Swap
若系统物理内存充足(如16GB以上)且Swap使用率长期低于10%,可考虑删除Swap文件以释放磁盘空间:
- 禁用并删除Swap文件:
sudo swapoff /swapfile sudo rm /swapfile
- 移除fstab条目:编辑
/etc/fstab
,删除或注释掉Swap文件对应的行。
6. 高级优化:使用zram/zswap
zram(压缩内存)和zswap(压缩Swap)可在内存中创建虚拟Swap空间,减少对磁盘的访问,适合内存紧张但需提升Swap性能的场景:
- 安装zram工具(Ubuntu默认包含):
sudo apt install zram-config
- 启用zswap:编辑
/etc/default/grub
,在GRUB_CMDLINE_LINUX_DEFAULT
中添加zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=20
(压缩算法选lz4,池大小设为内存的20%),然后更新GRUB并重启:sudo update-grub sudo reboot
注意事项
- 避免过度依赖Swap:Swap的性能远低于物理内存,若系统频繁使用Swap(使用率超过30%),应优先增加物理内存。
- 备份重要数据:调整Swap配置前,建议备份
/etc/fstab
等关键文件,防止误操作导致系统无法启动。 - 测试环境验证:生产环境调整前,建议在测试环境中验证配置的有效性和稳定性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Swap优化方法
本文地址: https://pptw.com/jishu/722522.html