温馨提示×

Ubuntu Swap交换频率如何调整

小樊
45
2025-12-26 05:02:40
栏目: 智能运维

Ubuntu 调整 Swap 使用频率

核心参数与含义

  • 调整 Swap 使用频率的核心参数是内核的 vm.swappiness,取值范围 0–100:数值越小,内核越倾向于使用物理内存;数值越大,越积极地使用 Swap。Ubuntu 默认值为 60。示例:设置为 10 表示仅在内存压力较大时才使用 Swap。注意:在 内核 3.5 及以上vm.swappiness=0 并非完全禁用,而是“尽量避免换出”;若需尽量不用 Swap,应使用 1

查看与临时调整

  • 查看当前值:cat /proc/sys/vm/swappiness
  • 临时修改(重启失效):sudo sysctl vm.swappiness=10
  • 使已启用的 Swap 重新加载(可选,用于观察效果):先 sudo swapoff -a,再 sudo swapon -a

永久调整

  • 写入配置文件:echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
  • 使配置立即生效:sudo sysctl -p
  • 验证:cat /proc/sys/vm/swappiness 应返回 10

相关参数与建议值

  • 另一个相关参数是 vm.vfs_cache_pressure(默认通常为 100),用于控制内核回收 inode/dentry 缓存的倾向。降低该值可更倾向保留目录/文件元数据缓存,提升某些文件系统密集型场景性能。示例:sudo sysctl vm.vfs_cache_pressure=50(永久生效同样写入 /etc/sysctl.conf)。调整建议:从默认值小幅改动,结合监控观察系统响应与 Swap 使用变化,逐步找到适合你工作负载的平衡点。

调整后如何验证与监控

  • 查看是否生效:cat /proc/sys/vm/swappiness
  • 查看内存与 Swap 概况:free -h
  • 查看已启用的 Swap:swapon --showcat /proc/swaps
  • 实时观察内存/Swap 与换入换出:tophtop(需 sudo apt install htop)、vmstat 2(关注 si/so 列,分别表示 Swap 换入/换出)。

0