Ubuntu中Swapper的性能调优技巧有哪些
1. 调整Swap大小
合理设置Swap空间是基础。一般建议Swap大小为物理内存的1.5-3倍(如4GB内存建议6-12GB),但需根据实际使用场景调整:若物理内存充足(如32GB以上),可适当减小Swap大小甚至禁用(需评估应用内存需求)。创建或扩展Swap时,推荐使用Swap文件(灵活性更高):通过fallocate
命令创建(如sudo fallocate -l 4G /swapfile
),设置权限为600
(sudo chmod 600 /swapfile
),格式化为Swap(sudo mkswap /swapfile
),启用(sudo swapon /swapfile
),并添加到/etc/fstab
实现开机自启(添加/swapfile none swap sw 0 0
行)。
2. 优化Swappiness参数
vm.swappiness
是控制内核将内存数据换出到Swap的倾向参数,取值范围0-100(0表示尽量不用Swap,100表示积极使用)。默认值通常为60,对于桌面或内存充足的服务器,建议降低至10-30(减少磁盘I/O,提升响应速度)。临时修改用sysctl
命令(sudo sysctl vm.swappiness=10
),永久生效则编辑/etc/sysctl.conf
文件(添加vm.swappiness=10
),然后运行sudo sysctl -p
使配置生效。
3. 使用高性能存储介质
Swap的性能高度依赖存储设备。优先将Swap放在SSD上(而非HDD),因为SSD的随机读写速度远高于HDD,能显著减少Swap操作的延迟。若系统已有SSD,确保Swap文件或分区位于SSD设备上(如/dev/sda1
而非/dev/sdb1
)。
4. 利用zRAM/zswap减少磁盘IO
- zRAM:在内存中创建压缩的块设备作为Swap空间,数据无需写入磁盘,适合内存充足的系统。安装并配置:
sudo apt update & & sudo apt install zram-config
,启用后会自动创建zRAM设备并添加为Swap。 - zswap:在内存中创建压缩的Swap缓存,当内存不足时,先将数据压缩存入zswap,再溢出到磁盘Swap,减少磁盘访问次数。需通过内核参数启用(编辑
/etc/default/grub
,添加zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=20
,更新GRUB后重启)。
5. 使用多个Swap分区/文件均衡负载
多个Swap分区或文件可均衡磁盘I/O负载,提高交换效率。系统会以轮询方式使用多个Swap空间,避免单一设备成为瓶颈。配置方法:创建多个Swap文件(如/swapfile1
、/swapfile2
),分别格式化、启用并添加到/etc/fstab
;或创建多个Swap分区(如/dev/sda2
、/dev/sdb3
),格式化后逐一启用并添加到/etc/fstab
。
6. 定期监控Swap使用情况
通过监控工具及时发现Swap异常(如频繁换出),有助于提前优化。常用命令:
free -h
:查看内存和Swap的总使用量及剩余量;swapon --show
:查看当前启用的Swap设备及使用率;top
/htop
:查看进程的内存和Swap占用情况(按Shift+M
按内存排序,找出内存消耗大的进程)。
7. 清理不必要的Swap文件/分区
定期检查并移除不再使用的Swap文件或分区,释放磁盘空间并减少系统管理开销。操作步骤:
- 禁用Swap(
sudo swapoff /swapfile
或sudo swapoff /dev/sdXN
); - 从
/etc/fstab
中移除对应条目; - 删除Swap文件(
sudo rm /swapfile
)或分区(使用gparted
等工具删除分区)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu中Swapper的性能调优技巧有哪些
本文地址: https://pptw.com/jishu/721811.html