以下是一个Debian swapper性能调优案例,针对系统频繁使用交换空间导致性能下降的场景:
系统运行多个内存密集型服务(如数据库、Web服务器),物理内存8GB,Swap空间为2GB,近期出现响应延迟高、磁盘I/O负载显著增加的情况。
分析内存与Swap使用情况
free -h
命令发现内存使用率长期高于80%,Swap空间使用率超过50%。top
命令定位到数据库服务占用内存最高,存在内存泄漏嫌疑。调整Swappiness参数
vm.swappiness=10
(默认60),降低系统使用Swap的倾向:sudo sysctl vm.swappiness=10
/etc/sysctl.conf
添加vm.swappiness=10
,执行sudo sysctl -p
。优化Swap空间配置
sudo fallocate -l 4G /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
/etc/fstab
中添加/swapfile none swap sw 0 0
,确保重启后生效。优化内存密集型服务
innodb_buffer_pool_size
),从2GB调整为1.5GB,减少内存占用。vmstat 1
监控发现内存回收效率提升,Swap写入量下降约30%。监控与验证
free -h
和vmstat
输出,确认Swap使用率稳定在20%以下,系统响应延迟降低50%以上。通过以上调整,有效减少了系统对Swap的依赖,提升了整体性能。