You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于vm.dirty_background_ratio与vm.dirty_ratio触发条件的技术问询

Linux脏页监控与内核行为答疑

问题1:当node_memory_Dirty_bytes / node_memory_MemAvailable_bytes * 100超过vm.dirty_background_ratio时,后台刷写线程是否启动?

不会直接触发。内核判断是否启动后台刷写线程的基准是系统总内存,而非MemAvailable。vm.dirty_background_ratio的定义是脏页占总内存的百分比阈值,只有当node_memory_Dirty_bytes / node_memory_MemTotal_bytes * 100超过该值时,内核才会启动后台pdflush/kswapd线程刷写脏页到磁盘。

问题2:当该值超过vm.dirty_ratio时,所有写入操作是否会被阻塞?

同样不会直接触发。vm.dirty_ratio的判断基准也是系统总内存,只有当脏页占总内存的比例超过这个阈值时,内核才会阻塞所有新的写入操作,直到脏页被刷写到磁盘、比例降到阈值以下为止。

问题3:是否应将公式改为node_memory_Dirty_bytes / (node_memory_MemFree_bytes + node_memory_KReclaimable_bytes + node_memory_SReclaimable_bytes ) * 100?

不需要。node_memory_MemAvailable_bytes本身就是内核计算出的实际可用内存,已经包含了空闲内存(MemFree)、可回收内核内存(KReclaimable)、可回收slab内存(SReclaimable)等部分,是内核认定可直接分配给应用的内存总量。直接使用MemAvailable作为分母更准确,无需手动拼接这些指标。

内容的提问来源于stack exchange,提问作者ffff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 10:30:43