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的工作流程
目录
相关文章
|
28天前
|
监控 数据可视化 搜索推荐
有哪些好用的流程管理工具?帮你快速搞定复杂工作流程
在职场中,流程管理是企业高效运转的核心。本文测评了五款热门流程管理工具:板栗看板、Trello、Asana、Jira 和 Notion,从功能、易用性和适用场景等方面进行全面分析,帮助你选择最适合的工具,提升团队协作和项目管理效率。
23 0
|
2月前
|
监控 数据挖掘 BI
项目管理流程全解析及关键步骤介绍
项目管理流程是项目成功的基石,涵盖启动、规划、执行、监控和收尾等阶段。Zoho Projects 等软件可提高效率,支持结构化启动与规划、高效执行与协作及实时监控。这些流程和工具对项目的全局视角、团队协作和风险控制至关重要。项目管理软件适用于不同规模企业,实施时间因软件复杂度和企业准备而异。
86 2
|
5月前
|
监控 Kubernetes 测试技术
概括模型开发部署流程
**模型部署流程概览:**训练完成的大型语言模型经验证评估,进行剪枝量化后导出为标准格式。封装成API,部署到云服务器,考虑GPU资源与安全。通过Docker或Kubernetes管理,集成后端服务,确保负载均衡和安全。监控性能,执行A/B测试和灰度发布,持续优化与维护。每个步骤涉及团队协作与线上稳定性。
62 1
|
JSON 前端开发 数据库
基于jsplumb构建的流程设计器
最近在准备开发工作流引擎相关模块,完成表结构设计后开始着手流程设计器的技术选型,调研了众多开源项目后决定基于jsplumb.js开源库进行自研开发,保证定制化的便捷性,相关效果图及项目地址如下
139 0
基于jsplumb构建的流程设计器
|
负载均衡 算法 Java
SptingCloud版协作流程 | 学习笔记
快速学习SptingCloud版协作流程。
119 0
SptingCloud版协作流程 | 学习笔记
|
开发工具 git 开发者
Gitflow工作流程
Gitflow工作流程
186 0
Gitflow工作流程
|
存储 Kubernetes 监控
K8S架构设计及工作流程分析
K8S架构设计及工作流程分析
639 0
K8S架构设计及工作流程分析
|
安全 测试技术
测试工作流程
现淘宝项目测试执行的主要流程简单的说: 第一轮测试,第二轮测试,第三轮测试,日常测试,预发测试,线上测试  由于为新起项目,日常测试部分可以忽略,不用上日常测试环境,项目测试环境即是日常测试环境,该部分在第一次做项目时,容易忽视。
1368 0
|
监控 测试技术 NoSQL
工作流程规范
项目扩张到一定程度,必须要有一定的规范来约束,才不至于项目变得越来越差,虽然牺牲一些效率,但是有利于公司的管理。 这里分享一些团队内部的工作流程规范 image.png 规范 需求阶段 新建需求Jira。
下一篇
无影云桌面