Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1353568
  • 博文数量: 145
  • 博客积分: 1440
  • 博客等级: 少尉
  • 技术积分: 2986
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-24 23:47
个人简介

我一直在走,至少还有条路,也好于无路可走…

文章分类

全部博文(145)

文章存档

2023年(1)

2017年(2)

2016年(5)

2015年(13)

2014年(13)

2013年(70)

2012年(41)

分类: LINUX

2013-09-06 17:45:05

                                            磁盘 I/O  调度算法
有单一化策略,适用所有场景
内核允许 I/O选择不用的调度算法
     cfg:
                 默认调度算法,完全公平排队
                几乎所有的工作量,尤其是大量进程的阅读和写作
    deadline:
             deadline算法的核心就是在传统的电梯算法中加入了请求超时的机制,该机制主要体现在两点:
             (1)请求超时时,对超时请求的选择。
             (2)没有请求超时时,当扫描完电梯最后一个request后,准备返回时,对第一个request的选择。
             基于以上两点,平衡了系统i/o吞吐量和响应时间。此外,该算法开考虑到了读操作对写操作造成的饥饿。
     anticipatory: 
             等待一段时间后,重新读
              可以用到,虚拟主机上
    noop:
            NOOP调度器十分简单,其只拥有一个等待队列,每当来一个新的请求,仅仅是按先来先处理的思路将请求插入到等待队列的尾部。 
            其应用环境主要有以下两种:一是物理设备中包含了自己的I/O调度程序,比如SCSI的TCQ;
  二是寻道时间可以忽略不计的设备,比如SSD


                                            调整磁盘I/O 的调度算法
1.调整调度算法为:deadline
      [root@localhost sda]# echo deadline >/sys/block/sda/queue/scheduler
      查看结果:
      [root@localhost sda]# cat /sys/block/sda/queue/scheduler
              noop anticipatory [deadline] cfq
 主要可调参数在 /sys/block/sda/queue/iosched
 最大排队时间
                            read_expire
                            write_expire
               [root@localhost iosched]# cat write_expire
                   5000
                [root@localhost iosched]# cat read_expire
                  500
    2.调整调度算法为:anticipatory
                  优化完成率取决于读取
                [root@localhost sda]# echo anticipatory >/sys/block/sda/queue/scheduler
      查看结果:
                [root@localhost iosched]# cat /sys/block/sda/queue/scheduler
         noop [anticipatory] deadline cfq
        可调参数  /sys/block/sda/queue/iosched
          另一个要等待多久,附近的读
             [root@localhost iosched]# cat antic_expire
            6 (默认)


 
 
 
  
阅读(3379) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~