文档章节

pdflush的工作原理

水海云
 水海云
发布于 2017/09/08 23:02
字数 461
阅读 72
收藏 0

1 . 定时方式

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

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

2.内存不足的时候

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

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

当脏页占系统内存的比例超过/proc/sys/vm/dirty_background_ratio 的时候,write系统调用会唤醒pdflush回写dirty page,直到脏页比例低于/proc/sys/vm/dirty_background_ratio,但write系统调用不会被阻塞,立即返回。当脏页占系统内存的比例超过/proc/sys/vm/dirty_ratio的时候, write系统调用会被被阻塞,主动回写dirty page,直到脏页比例低于/proc/sys/vm/dirty_ratio。

4 . 用户调用sync系统调用

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

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

共有 人打赏支持
水海云
粉丝 50
博文 120
码字总数 101938
作品 0
深圳
程序员
私信 提问
kswapd和pdflush

首 先,它们存在的目的不同,kswap的作用是管理内存,pdflush的作用是同步内存和磁盘,当然因为数据写入磁盘前可能会换存在内存,这些缓存真正写 入磁盘由三个原因趋势:1.用户要求缓存马上写...

晨曦之光
2012/04/10
437
0
Linux内核参数调优之IO调优(一)

说明:IO调优,对IO操作较频繁的服务效果比较明显,比如说数据库类型(mysql,oracle)。 1. pdflush刷新脏数据条件 cached中的脏数据满足如下几个条件中一个或者多个的时候就会被pdflush刷新...

在下郑小明
2017/03/18
0
0
记一次服务器IO过高处理过程

记一次服务器IO过高处理过程 一、背景 在一次上线升级后,发现两台tomcat服务器的IOwait一直超过100ms,高峰时甚至超过300ms,检查服务器发现CPU负载,内存的使用率都不高。问题可能出现在硬...

四京
2017/05/27
0
0
Linux 下10个不得不知道的”系统进程”

在日常的运维工作中,当我们习惯性的执行ps命令后会看到很多“奇奇怪怪”的进程,而这些进程大部门都是系统的内核进程。很多同学对之了解的甚少,因此今天就为大家整理一篇入门级的系统进程介...

Forande
2017/11/10
0
0
linux下proc里关于磁盘性能的参数

  我们在磁盘写操作持续繁忙的服务器上曾经碰到一个特殊的性能问题。每隔 30秒,服务器就会遇到磁盘写活动高峰,导致请求处理延迟非常大(超过3秒)。后来上网查了一下资料,通过调整内核参...

ffredy
2015/11/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx中部署vue打包后的静态文件

如何在nginx中部署静态资源就不描述了, 请看我的这篇博客 将vue脚手架项目打包后的静态文件放到nginx上, 发现有个问题, 即url上有#, 怎么去掉这个#呢. 1 项目中router的mode 路由的mode要为h...

克虏伯
14分钟前
3
0
JS容易理解错误的地方

在这端代码执行的末尾,你会不会hi变量回事函数中的hi了?你会不会认为这不是按引用传递了? 对值传递和引用传递产生质疑了? 1 var hi = {};2 function sayHello(hi) { ...

器石_
15分钟前
1
0
Java开发学习--MongoDB

之前只学过sql,第一次使用非关系型数据库。以前对于关系型数据库与非关系型数据库的概念很模糊,通过这次的学习对这两者有了一个清晰的概念。 主键 在MongoDB中,主键名叫"_id",如果在生成...

微笑向暖wx
19分钟前
0
0
Java8-2-Lambda表达式实战-一句话实现Map中按照Value排序

今天我们来实战一把, 对Map的Value值排序进行简化. 如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群...

编程SHA
22分钟前
0
0
Vue中img的src属性绑定与static文件夹

1、其中有一个叫做static的文件夹,尝试将logo.png放入这个文件夹,然后修改imgUrl: imgUrl = '/static/logo.png' 成功读取到了logo.png. 执行npm run build后查看dist文件,发现logo.png原...

小黑202
23分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部