pdflush的工作流程

简介:

大家知道,在linux操作系统中,写操作是异步的,即写操作返回的时候数据并没有真正写到磁盘上,而是先写到了系统cache里,随后由pdflush内核线程将系统中的脏页写到磁盘上,在下面几种情况下,系统会唤醒pdflush回写脏页。

1 、定时方式:

定时机制定时唤醒pdflush内核线程,周期为/proc/sys/vm/dirty_writeback_centisecs ,单位是(1/100)秒,默认值500(5秒)。每次周期性唤醒的pdflush线程并不是回写所有的脏页,而是只回写变脏时间超过/proc/sys/vm/dirty_expire_centisecs(单位也是1/100秒),默认值3000(30秒)。

注意:变脏的时间是以文件的inode节点变脏的时间为基准的,也就是说如果某个inode节点是10秒前变脏的,pdflush就认为这个inode对应的所有脏页的变脏时间都是10秒前,即使可能部分页面真正变脏的时间不到10秒,细节可以查看内核函数wb_kupdate()。

2、 内存不足的时候:

这时并不将所有的dirty页写到磁盘,而是每次写大概1024个页面,直到空闲页面满足需求为止。

3 、写操作时发现脏页超过一定比例:

  1. 脏页占系统内存的比例超过/proc/sys/vm/dirty_background_ratio 的时候,write系统调用会唤醒pdflush回写dirty page,直到脏页比例低于/proc/sys/vm/dirty_background_ratio,但write系统调用不会被阻塞,立即返回
  2. 脏页占系统内存的比例超过/proc/sys/vm/dirty_ratio的时候, write系统调用会被被阻塞,主动回写dirty page,直到脏页比例低于/proc/sys/vm/dirty_ratio,这一点在2.4内核中是没有的。

4 、用户调用sync系统调用:

这是系统会唤醒pdflush直到所有的脏页都已经写到磁盘为止。


 

转载自:http://blog.csdn.net/kofshower/article/details/7357968

转载请注明: 旅途@KryptosX  »  pdflush的工作流程
目录
相关文章
|
23天前
|
监控 负载均衡 测试技术
大模型开发:描述一个你之前工作中的模型部署过程。
完成大型语言模型训练后,经过验证集评估和泛化能力检查,进行模型剪枝与量化以减小规模。接着导出模型,封装成API,准备服务器环境。部署模型,集成后端服务,确保安全,配置负载均衡和扩容策略。设置监控和日志系统,进行A/B测试和灰度发布。最后,持续优化与维护,根据线上反馈调整模型。整个流程需团队协作,保证模型在实际应用中的稳定性和效率。
38 3
|
11月前
|
JSON 前端开发 数据库
基于jsplumb构建的流程设计器
最近在准备开发工作流引擎相关模块,完成表结构设计后开始着手流程设计器的技术选型,调研了众多开源项目后决定基于jsplumb.js开源库进行自研开发,保证定制化的便捷性,相关效果图及项目地址如下
104 0
基于jsplumb构建的流程设计器
|
负载均衡 算法 Java
SptingCloud版协作流程 | 学习笔记
快速学习SptingCloud版协作流程。
91 0
SptingCloud版协作流程 | 学习笔记
|
存储 Kubernetes 监控
K8S架构设计及工作流程分析
K8S架构设计及工作流程分析
577 0
K8S架构设计及工作流程分析
|
jenkins 持续交付 开发工具
Jenkins集成pipline流水线实现自动化上线(十五)
1.老项目改造实现pipline项目自动上线 1.1.通过jenkins获取流水线语法 1.1.1.获取从gitlab上拉取项目的语法 拉取gitlab上的代码可以通过jenkins获取流水线语法最后粘贴到脚本中 点击配置—高级项目选项—流水线—流水线语法
265 0
Jenkins集成pipline流水线实现自动化上线(十五)
|
数据采集 安全 测试技术
软件测试工作流程概括与总结
软件测试工作流程概括与总结
247 0
|
开发工具 git 开发者
Gitflow工作流程
Gitflow工作流程
147 0
Gitflow工作流程
|
安全 测试技术
测试工作流程
现淘宝项目测试执行的主要流程简单的说: 第一轮测试,第二轮测试,第三轮测试,日常测试,预发测试,线上测试  由于为新起项目,日常测试部分可以忽略,不用上日常测试环境,项目测试环境即是日常测试环境,该部分在第一次做项目时,容易忽视。
1336 0
|
监控 测试技术 NoSQL
工作流程规范
项目扩张到一定程度,必须要有一定的规范来约束,才不至于项目变得越来越差,虽然牺牲一些效率,但是有利于公司的管理。 这里分享一些团队内部的工作流程规范 image.png 规范 需求阶段 新建需求Jira。
2964 0

热门文章

最新文章