Chinaunix首页 | 论坛 | 博客
  • 博客访问: 536991
  • 博文数量: 108
  • 博客积分: 3242
  • 博客等级: 中校
  • 技术积分: 916
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-07 11:46
文章分类
文章存档

2012年(13)

2010年(95)

分类: LINUX

2010-11-04 15:14:55

    Linux  2.6包含的四个I/O调度器分别是No-op I/O scheduler、Anticipatory I/O scheduler、Deadline I/O scheduler与CFQ I/O scheduler。
在后文中分别简称为ns、as、ds与cfq.

    ns是一个简化的调度程序它只作最基本的合并与排序。与桌面系统的关系不是很大,主要用在一些特殊的软件与硬件环境下,这些软件与硬件一般都拥有自己的调度机制对内核支持的要求很小,这很适合一些嵌入式系统环境。作为桌面用户我们一般不会选择它.

    as是当前内核中默认的I/O调度器。它拥有非常好的性能,在2.5中它就相当引人注意.

    在与2.4内核进行的对比测试中,在2.4中多项以分钟为单位完成的任务,它则是以秒为单位来完成的。正因为如此它成为目前2.6测试版中默认的I/O调度器。但它也存在着弱点,它本身是比较庞大与复杂的,在一些特殊的情况下,特别是在数据吞吐量非常大的数据库系统中它会变的比较缓慢.

    ds就是针对as的缺点进行改善而来的,还处于测试阶段,但已经很稳定了。目前表现出的性能几乎与as一样好。加之比as更加小巧,是相当有前途的调度器,值得一试.

    cfq为系统内的所有任务分配相同的带宽,提供一个公平的工作环境,它比较适合桌面环境.事实上在测试中它也有不错的表现,mplayer xmms等多媒体播放器与它配合的相当好,回放平滑几乎没有因访问磁盘而出现的跳帧现象。对于喜欢在Linux下听音乐看电影的朋友不妨尝试一下.

    可以通过给kernel添加启动参数,选择使用的IO调度算法:
    kernel elevator=noop

阅读(1440) | 评论(0) | 转发(0) |
0

上一篇:TFTP配置

下一篇:串口调试工具ckermit

给主人留下些什么吧!~~