Ubuntu Swap性能监控与调优指南
监控Swap使用情况是优化的前提,以下是常用命令及说明:
free -h命令Swap: 2.0Gi 1.0Gi 1.0Gi
swapon --show命令NAME TYPE SIZE USED PRIO
/swapfile file 2G 1G -2
/proc/swaps文件swapon --show内容一致),可通过cat /proc/swaps命令读取。top/htop命令top命令的“Swap”行显示已用/空闲Swap空间;htop(需安装:sudo apt install htop)提供更直观的界面,支持颜色标识和排序。vmstat命令vmstat -s | grep swap可输出Swap总大小、已使用及空闲容量,适合批量监控。gnome-system-monitor(GNOME桌面环境自带)或KSysGuard(KDE桌面环境),在“性能”模块查看内存与Swap的实时使用率及趋势图。Swappiness控制内核将内存数据交换到Swap的倾向,取值范围0-100(默认60)。值越高,系统越倾向于使用Swap,可能导致磁盘I/O升高、性能下降;值越低,越优先保留内存中的数据。
cat /proc/sys/vm/swappinesssudo sysctl vm.swappiness=10(建议值10-30,适用于大多数桌面/服务器场景)/etc/sysctl.conf文件,添加vm.swappiness=10,保存后重启系统生效。Swap大小需根据物理内存调整,避免过大或过小:
sudo swapoff /swapfile # 关闭原有Swap
sudo rm /swapfile # 删除旧文件
sudo fallocate -l 8G /swapfile # 创建8GB新Swap文件
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # 开机自动挂载
fallocate增加大小→chmod 600→mkswap→swapon(无需修改fstab)。zram通过在内存中创建压缩块设备作为Swap,减少磁盘I/O,提升性能(尤其适合SSD用户)。
sudo apt install zram-config # Ubuntu 22.04+自带
sudo systemctl enable zram-config
sudo systemctl start zram-config
swapon --show会显示zram设备(如/dev/zram0),free -h可查看其使用情况。若系统内存充足(如16GB以上且Swap使用率长期低于10%),可删除Swap以释放磁盘空间:
sudo swapoff -v /swapfile # 关闭Swap
sudo rm /swapfile # 删除文件
sudo sed -i '/\/swapfile/d' /etc/fstab # 从fstab移除条目