首页/系统/Linux 内核与性能调优速查/vm.dirty_ratio 脏页回写硬阈值
本包目录(357 条)
sysctl 内核参数72 条
CPU 与调度60 条内存与 OOM58 条磁盘与 IO32 条网络栈调优98 条性能分析工具37 条

vm.dirty_ratio 脏页回写硬阈值

脏页占内存百分比达到该值(默认 20)时,写进程被迫参与同步回写,是写抖动(write stall)的常见来源。

参数vm.dirty_ratio
默认值20(百分比)
触发现象同步回写阻塞写入,应用观察到延迟尖刺

观察与调整

观察与调整
sysctl vm.dirty_ratio vm.dirty_background_ratio
grep -E 'nr_dirty|nr_writeback' /proc/vmstat
sysctl -w vm.dirty_ratio=10
降低阈值可减小单次回写峰值但提高回写频率;大内存机器常改用 dirty_bytes 做定量控制。

易错点

  • 按比例计算在大内存机器上会放大:256GB 内存 20% 即约 51GB 脏页才触发,突发回写压力可观
  • 排查写延迟抖动时同时看 nr_dirty、nr_writeback 与 io.stat,确认是脏页阈值还是设备瓶颈

数据来源与参考

  • Linux 内核 Documentation/admin-guide/sysctl/vm.rst
  • Linux 内核 Documentation/admin-guide/mm/
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌