news 2026/4/22 18:38:07

virtual-guest/tuned.conf :虚拟机客户端的调优配置文件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
virtual-guest/tuned.conf :虚拟机客户端的调优配置文件

(1)vm.dirty_ratio=0

做任何操作,要在程序运行期间要对磁盘文件的数据,需要把这些数据读到内存里面去,改完之后,写进内存里面去。这个块和磁盘文件不同-->>dirty

大量的用户在磁盘上读取文件以后读到那个缓冲区里面,它到磁盘写的时候它是统一写的(写的时候你要你是要请求总线控制权的你写个十兆的东西和你写一兆的东西,对计算机来说,它调度的过程完全是一样的)

当vm.dirty_ratio=30;周期拉长了,对i/o的请求就降低了

  • 写入吞吐更高、IO 更平滑

    • 脏页比例变大 → 内存能攒更多写入数据

    • 刷盘次数变少 → 单次刷盘更大、更连续→高并发写入、数据库、日志写入场景性能更好

  • 减少频繁小 IO,降低磁盘压力

    • 避免频繁刷小批量数据到磁盘

    • 对机械硬盘、云盘、低性能磁盘尤其友好

  • CPU 占用略降

    • 刷盘 IO 调度、中断更少

1.vm.dirty_ratio=20 → 30到底改变了 Linux 内核的什么行为。

一、先搞懂两个概念

  1. Page Cache(页缓存)内存里用来缓存磁盘文件的区域,读写都先走这里。

  2. Dirty Page(脏页)内存里已经被修改、但还没写回磁盘的数据。这些数据只在内存里,磁盘上还是旧的。


二、内核刷盘的两条规则

Linux 不会实时把每一次写入都刷盘,而是攒一批再批量刷,效率更高。它靠两个阈值控制:

1.vm.dirty_background_ratio(后台阈值)

  • 当脏页占总内存达到这个比例

  • 内核后台悄悄刷盘

  • 不阻塞应用,业务无感

2.vm.dirty_ratio(强制阈值)

  • 当脏页占总内存达到这个比例

  • 内核强制阻塞所有新写入

  • 直到脏页被刷下去,才能继续写


三、从 20 改成 30,原理上发生了什么?

  1. 允许脏页占更多内存原来脏页到 20% 就必须强制刷盘现在可以到 30% 才强制刷盘

  2. 刷盘触发得更晚内存能攒更多写入数据,再一次性刷盘

  3. 单次刷盘更大、更连续磁盘磁头 / SSD 更少随机 IO,吞吐量更高

  4. 应用阻塞发生得更少、但更猛

    • 平时不阻塞 → 写入更快

    • 一旦到 30% 开始阻塞 → 阻塞时间更长、延迟突刺更明显


四、用一句话总结原理

vm.dirty_ratio 越大,内核越 “懒”,越喜欢在内存里攒脏数据,等到攒很多了再一次性批量刷盘。

  • 优点:批量 IO → 吞吐量更高、磁盘压力更小

  • 缺点:阻塞更晚但更狠 → 延迟抖动变大;掉电丢失数据更多


五、和内存的关系(非常关键)

总内存固定:

  • dirty_ratio 越大 → 脏页能占用越多内存

  • 留给文件缓存(page cache)的空间就越少→读多的业务会变慢


六、极简原理版(方便记)

  • 20:脏数据攒到内存 20% → 立刻强制刷盘

  • 30:脏数据攒到内存 30% → 才强制刷盘

本质就是:让内核更敢用内存当写入缓冲区,牺牲一点稳定性和安全性,换更高写入吞吐量。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 18:33:34

Rust 所有权系统的工程化设计

Rust 所有权系统的工程化设计 Rust 的所有权系统是其最独特的语言特性之一,它通过编译时检查而非运行时垃圾回收来管理内存安全,同时兼顾性能与可靠性。这一设计不仅解决了传统系统级编程中的内存泄漏、数据竞争等问题,还为工程实践提供了可…

作者头像 李华
网站建设 2026/4/22 18:33:18

WPF ComboBox控件实战:从数据绑定到自定义样式,5个常见问题解决方案

WPF ComboBox控件实战:从数据绑定到自定义样式,5个常见问题解决方案 在WPF开发中,ComboBox控件是构建用户界面的重要组件之一。它不仅能提供标准的下拉选择功能,还能通过数据绑定和样式自定义实现复杂的交互需求。但在实际开发中&…

作者头像 李华
网站建设 2026/4/22 18:27:18

Python通达信数据读取终极指南:免费获取本地金融数据的完整解决方案

Python通达信数据读取终极指南:免费获取本地金融数据的完整解决方案 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 你是不是一直在寻找一个简单、免费且高效的方式来获取股票市场数据…

作者头像 李华
网站建设 2026/4/22 18:26:22

互联网大厂 Java 求职者面试:技术要点与幽默答辩

互联网大厂 Java 求职者面试:燕双非的搞笑经历在今天的面试中,我们将跟随燕双非,一位对 Java 与互联网大厂充满热情的求职者,进入一场精彩的面试。他的面试官是一位严肃而专业的专家。让我们看看燕双非是如何应对这些问题的吧。第…

作者头像 李华