磁盘优化和监控 redhat

来源:互联网 发布:java的string不可变 编辑:程序博客网 时间:2024/04/28 18:03

优化策略:

1、机械盘 单独数据盘  分区ext4 noatime accesstime

2、修改kernal  dirty_background ratio  dirty_ratio 一般可能在20~40%    而脏页(dirty_ratio)在20%以下不刷内存 (可以上调这个百分比上线到60%)
降低文件系统缓存大小的方法,其中一种是通过修改/proc/sys/vm/dirty_background_ratio以及/proc/sys/vm/dirty_ratio两个参数的大小来实现

3、尽量ext4 的系统做数据盘 (大块的读取场景)


附 参考 http://blog.sina.com.cn/s/blog_448574810101k1va.html:

vm.dirty_background_ratio:这个参数指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如5%)就会触发pdflush/flush/kdmflush等后台回写进程运行,将一定缓存的脏页异步地刷入外存;

vm.dirty_ratio:而这个参数则指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如10%),系统不得不开始处理缓存脏页(因为此时脏页数量已经比较多,为了避免数据丢失需要将一定脏页刷入外存);在此过程中很多应用进程可能会因为系统转而处理文件IO而阻塞。

之前一直错误的一位dirty_ratio的触发条件不可能达到,因为每次肯定会先达到vm.dirty_background_ratio的条件,后来才知道自己理解错了。确实是先达到vm.dirty_background_ratio的条件然后触发flush进程进行异步的回写操作,但是这一过程中应用进程仍然可以进行写操作,如果多个应用进程写入的量大于flush进程刷出的量那自然会达到vm.dirty_ratio这个参数所设定的坎,此时操作系统会转入同步地处理脏页的过程,阻塞应用进程。



监控手段:

1、nmon

2、iostat  -m 1 5  (监控cpu 的iowait和 device 的io信息 刷5次 1秒1次 若不写5 ,则1秒1次连续刷屏)

[root@localhost ~]# iostat -m 1
Linux 3.10.0-514.el7.ppc64le (localhost.localdomain) 12/29/2016 _ppc64le_(128 CPU)


avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.37    0.01    0.09    0.92    0.00   98.61


Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda             113.94        14.17         0.33      65455       1511
sdb               0.02         0.00         0.00          4          0
nvme0n1         115.46        14.42         0.00      66601          1


也可以iostat -md 1 则不打印cpu信息; iostat -c 1 则只打印cpu信息 ; iostat -mx 1 可以看device的详细io信息

3、iotop 可加  -o参数 查看实时io活动进程

3、sar 命令 sar -p -d 1  不如iostat 不推荐

4、vmstat 不推荐



0 0
原创粉丝点击