1. 选择高速存储设备
Swap的性能直接受存储介质影响,**优先使用SSD(尤其是NVMe SSD)**作为Swap载体。NVMe SSD的超低延迟(约100μs级)和高吞吐量(可达数千MB/s),能显著减少Swap读写延迟,相比传统HDD(延迟约5-10ms),性能提升可达数十倍。若系统已使用SSD,确保Swap文件或分区位于SSD而非HDD上。
2. 调整Swappiness内核参数
Swappiness(范围0-100)控制内核使用Swap的积极性:默认值60表示系统会在物理内存剩余40%时开始使用Swap;值越低,系统越倾向于保留内存中的数据,减少Swap依赖。建议设置为10-30(桌面环境可保留默认60,服务器建议10),以平衡内存利用率和Swap使用频率。操作步骤:
sudo sysctl vm.swappiness=10(立即生效,重启失效);/etc/sysctl.conf,添加vm.swappiness=10,保存后运行sudo sysctl -p生效。3. 使用Swap文件替代传统分区(现代系统推荐)
传统Swap分区大小固定,调整麻烦;Swap文件可动态扩容(无需重新分区),灵活性更高。创建步骤:
sudo fallocate -l 4G /swapfile(若fallocate不可用,用sudo dd if=/dev/zero of=/swapfile bs=1M count=4096);sudo chmod 600 /swapfile;sudo mkswap /swapfile;sudo swapon /swapfile;/swapfile none swap sw 0 0添加到/etc/fstab。4. 启用Zswap内存压缩(Linux内核4.0+)
Zswap是内核内置的内存压缩技术,在内存不足时,先将内存页压缩(使用LZ4等算法,压缩率约30%-50%),仅将无法压缩的数据写入Swap。效果:减少Swap I/O次数(约50%以上),提升系统响应速度。启用步骤:
sudo nano /etc/default/grub),在GRUB_CMDLINE_LINUX中添加zswap.enabled=1 zswap.compressor=lz4;sudo update-grub && sudo reboot。5. 合理设置Swap大小
Swap大小需根据物理内存调整,避免过大或过小:
sudo swapoff /swapfile),再按上述规则创建新Swap文件并启用。6. 定期监控Swap使用情况
通过监控工具及时发现Swap异常(如Swap使用率长期超过50%),避免性能瓶颈。常用命令:
free -h:查看内存和Swap的总大小、已用空间及使用率;swapon --show:查看当前活跃的Swap设备及大小;vmstat 1:实时监控系统状态,关注si(Swap In,每秒从Swap读取到内存的数据量)和so(Swap Out,每秒从内存写入Swap的数据量),若si/so持续大于0,说明Swap使用频繁。