场景: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优化的更多相关文章

  1. 转 Linux 性能优化之 IO 子系统

    本文介绍了对 Linux IO 子系统性能进行优化时需要考虑的因素,以及一些 IO 性能检测工具. 本文的大部分内容来自 IBM Redbook - Linux Performance and Tun ...

  2. Linux 性能优化之 IO 子系统

    本文介绍了对 Linux IO 子系统性能进行优化时需要考虑的因素,以及一些 IO 性能检测工具. 本文的大部分内容来自 IBM Redbook - Linux Performance and Tun ...

  3. Linux 性能优化之 IO 子系统 系列 图

    http://blog.sina.com.cn/s/articlelist_1029388674_11_1.html Linux 性能优化之 IO 子系统(一) 本文介绍了对 Linux IO 子系统 ...

  4. Linux IO/NFS tunning 性能优化及检测

    Linux IO/NFS tunning:IO Test=======dd 测试读性能的命令# time dd if=/nfsfolder/testfile of=/dev/null bs=1kdd ...

  5. Linux IO 调度器

    Linux IO Scheduler(Linux IO 调度器) 每个块设备或者块设备的分区,都对应有自身的请求队列(request_queue),而每个请求队列都可以选择一个I/O调度器来协调所递交 ...

  6. Linux IO Scheduler(Linux IO 调度器)【转】

    每个块设备或者块设备的分区,都对应有自身的请求队列(request_queue),而每个请求队列都可以选择一个I/O调度器来协调所递交的request.I/O调度器的基本目的是将请求按照它们对应在块设 ...

  7. linux性能优化参数小节

    总结一些和性能相关的常见参数 内核相关参数 位于/etc/sysctl.conf文件,向文件中添加 用sysctl -a可以查看默认配置 修改后可以通过sysctl -p执行并看看有没有错误 例如设置 ...

  8. Linux IO性能分析blktrace/blk跟踪器

    关键词:blktrace.blk tracer.blkparse.block traceevents.BIO. 本章只做一个记录,关于优化Block层IO性能方法工具. 对Block层没有详细分析,对 ...

  9. Tomcat调优总结(Tomcat自身优化、Linux内核优化、JVM优化)

    Tomcat自身的调优是针对conf/server.xml中的几个参数的调优设置.首先是对这几个参数的含义要有深刻而清楚的理解.以tomcat8.5为例,讲解参数. 同时也得认识到一点,tomcat调 ...

随机推荐

  1. 迷宫问题python实现(靠右手摸墙)

    大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang 这是大二时候的数学模型毕业课程设计,我选择了自己研究盲人穿越迷宫的问题.当然后来再在网上查了这个问 ...

  2. 【转】ios开发之生成所缩略图方式

    亲测:两种方式都有效 第一种方式:缩略成固定的尺寸大小 - (UIImage *)thumbnailWithImageWithoutScale:(UIImage *)image size:(CGSiz ...

  3. Core Data (2)-备用

    1.Core Data 是数据持久化存储的最佳方式 2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型 在Mac OS X 10.5Leopard及以后的版本中 ...

  4. hdu 1111 Secret Code

    http://acm.hdu.edu.cn/showproblem.php?pid=1111 复数除法: #include <cstdio> #include <cstring> ...

  5. NOR flash和NAND flash区别,RAM 和ROM区别d

    ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...

  6. QDialog 添加最大化、最小化按钮和关闭按钮,并且要正常显示

    在使用QDialog时,默认情况下只有“这是什么”和“关闭”按钮(不知道为什么QT要这么做),但是我们习惯有最大化和最小化按钮.本文介绍如何在该模式下如何设置. 新建一个QDialog工程,然后打开D ...

  7. SSH自动部署

    我的是windows环境,目前开发的过程中,有些项目需要一下子部署到很多的linux服务器上.写了个脚本能够自动上传文件和执行部署任务.完成这个任务需要的条件包括SSH配置和一个执行脚本. 准备 1. ...

  8. STL中istream_iterator和ostream_iterator的基本用法

    标准程序库定义有供输入及输出用的iostream iterator类,称为istream_iterator和ostream_iterator,分别支持单一型别的元素读取和写入.使用这两个iterato ...

  9. php-timeit估计php函数的执行时间

    首先,前段时间利用手头的日本VPS搭建了一个google代理,访问速度还行,分享给大家: 谷歌 谷歌:guge119.com 谷歌学术:scholar.guge119.com 有时候我们在PHP性能优 ...

  10. hdu 3853 LOOPS(概率 dp 期望)

    Problem Description Akemi Homura is a Mahou Shoujo (Puella Magi/Magical Girl). Homura wants to help ...