Linux swap 内核参数解读:vm.swappiness 参数详解

Linux vm.swappiness 参数详解

vm.swappiness 是 Linux 内核的一个重要参数,用于控制系统在内存压力下使用 Swap 空间的倾向程度。这个参数对系统性能有显著影响,特别是在内存有限的服务器环境中。

基本概念

  • 默认值:大多数 Linux 发行版默认值为 60
  • 取值范围0100
  • 单位:百分比(%)

参数含义

vm.swappiness 值表示内核在内存使用率达到多少百分比时开始积极使用 Swap 空间:

  • 值越高(如 60-100):内核会更早、更积极地使用 Swap
  • 值越低(如 0-30):内核会尽量避免使用 Swap,尽量使用物理内存
  • 值为 0:除非内存耗尽(OOM),否则完全不使用 Swap

推荐设置

场景推荐值说明
桌面系统30-60平衡响应速度和内存使用
数据库服务器1-10减少 Swap 使用,提高性能
应用服务器10-30适度使用 Swap 避免 OOM
内存充足系统1-10充分利用物理内存
内存紧张系统30-60防止 OOM 但可能降低性能

查看当前值

cat /proc/sys/vm/swappiness
# 或
sysctl vm.swappiness

临时修改

sudo sysctl vm.swappiness=10

永久修改

编辑 /etc/sysctl.conf 文件:

sudo nano /etc/sysctl.conf

添加或修改:

vm.swappiness=10

然后应用更改:

sudo sysctl -p

高级注意事项

  1. SSD 系统:可以设置较低值(如 10),因为 SSD 的 Swap 性能比 HDD 好,但仍比物理内存慢

  2. 数据库系统:通常建议设为 1-10,因为数据库有自己优化的内存管理机制

  3. 值为 0 的风险:完全禁用 Swap 可能导致 OOM Killer 过早杀死进程

  4. 监控工具:使用 free -hvmstat 1sar -r 1 监控内存和 Swap 使用情况

  5. vfs_cache_pressure 配合:调整文件系统缓存回收的积极程度(默认值 100)

性能影响

  • 高 swappiness:可能导致频繁的磁盘 I/O,降低系统响应速度
  • 低 swappiness:可能导致内存压力增大,增加 OOM Killer 干预的风险
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学亮编程手记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值