码迷,mamicode.com
首页 > 系统相关 > 详细

linux io优化

时间:2015-05-21 17:01:55      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:

场景:xml文件解析入库;并备份

问题:磁盘io异常,经常100%busy;

 

linux io优化方法:

1、修改磁盘挂着参数,修改为writeback模式;对于文件读取频繁的可以设置noatime;

2、修改缓存写入磁盘时间

pdflush的行为受/proc/sys/vm中的参数的控制

/proc/sys/vm/dirty_writeback_centisecs (default 500): 1/100秒, 多长时间唤醒pdflush将缓存页数据写入硬盘。默认5秒唤醒2个(更多个)线程。

如果wrteback的时间长于dirty_writeback_centisecs的时间,可能会出问题。


pdflush机制:

第一件事是读取缓存页里数据的过期时间(旧数据),在下一个周期内被写入硬盘。默认30秒是一个很长的时间。

配置:/proc/sys/vm/dirty_expire_centiseconds   (default 3000)  单位:1/100秒。

第二件事是判断内存是否到了要写入硬盘的限额,由参数决定:

/proc/sys/vm/dirty_background_ratio (default 10)百分值,保留过期页缓存(脏页缓存)的最大值。是以MmeFree+Cached-Mapped的值为基准的

pdflush写入硬盘看两个参数:

1 数据在页缓存中是否超出30秒,如果是,标记为脏页缓存;

2 脏页缓存是否达到工作内存的10%;

以下参数也会影响到pdflush

/proc/sys/vm/dirty_ratio (default 40)

总内存的最大百分比,系统所能拥有的最大脏页缓存的总量。超过这个值,开启pdflush写入硬盘。如果cache增长快于pdflush,那么整个系统在40%的时候遇到I/O瓶颈,所有的

I/O都要等待cache被pdflush进硬盘后才能重新开始。

对于有高度写入操作的系统

dirty_background_ratio: 主要调整参数。如果需要把缓存持续的而不是一下子大量的写入硬盘,降低这个值。

dirty_ratio:第二调整参数。

转载:http://wlservers.blog.163.com/blog/static/120622304201241715945256/

 

linux io优化

标签:

原文地址:http://www.cnblogs.com/qq916653496/p/4519990.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!