如何更改Linux 的I/O调度器

Linux 的 I/O 调度器是一个以块式 I/O 访问存储卷的进程,有时也叫磁盘调度器。Linux I/O 调度器的工作机制是控制块设备的请求队列:确定队列中哪些 I/O 的优先级更高以及何时下发 I/O 到块设备,以此来减少磁盘寻道时间,从而提高系统的吞吐量。

目前 Linux 上有如下几种 I/O 调度算法:

  1. noop - 通常用于内存存储的设备。
  2. cfq - 完全公平调度器。进程平均使用IO带宽。
  3. Deadline - 针对延迟的调度器,每一个 I/O,都有一个最晚执行时间。
  4. Anticipatory - 启发式调度,类似 Deadline 算法,但是引入预测机制提高性能。

查看设备当前的 I/O 调度器:


  1. # cat /sys/block//queue/scheduler 

假设磁盘名称是 /dev/sdc:


  1. # cat /sys/block/sdc/queue/schedulernoop anticipatory deadline [cfq] 

如何改变硬盘设备 I/O 调度器

使用如下指令:


  1. # echo {SCHEDULER-NAME} > /sys/block//queue/scheduler 

比如设置 noop 调度器:


  1. # echo noop > /sys/block/sdc/queue/scheduler 

以上设置重启后会失效,要想重启后配置仍生效,需要在内核启动参数中将 elevator=noop 写入 /boot/grub/menu.lst:

1. 备份 menu.lst 文件


  1. cp -p /boot/grub/menu.lst /boot/grub/menu.lst-backup 

2. 更新 /boot/grub/menu.lst

将 elevator=noop 添加到文件末尾,比如:


  1. kernel /vmlinuz-2.6.16.60-0.91.1-smp root=/dev/sysvg/root splash=silent splash=off showopts elevator=noop 

作者:UX Techno

来源:51CTO

时间: 2024-09-20 00:16:24

如何更改Linux 的I/O调度器的相关文章

如何更改 Linux 的 I/O 调度器

Linux 的 I/O 调度器是一个以块式 I/O 访问存储卷的进程,有时也叫磁盘调度器.Linux I/O 调度器的工作机制是控制块设备的请求队列:确定队列中哪些 I/O 的优先级更高以及何时下发 I/O 到块设备,以此来减少磁盘寻道时间,从而提高系统的吞吐量. 目前 Linux 上有如下几种 I/O 调度算法: noop - 通常用于内存存储的设备. cfq - 完全公平调度器.进程平均使用IO带宽. Deadline - 针对延迟的调度器,每一个 I/O,都有一个最晚执行时间. Antic

如何更改 Linux I/O 调度器来调整性能

为了从 Linux 服务器榨取尽可能多的性能,请了解如何更改 I/O 调度器以满足你的需求. Linux I/O 调度器Linux I/O scheduler控制内核提交读写请求给磁盘的方式.自从 2.6 内核以来,管理员已经能够更改这个调度器,所以他们可以自定义他们的平台以完全适合他们的需要. 有三个调度器可供选择,每个调度器都有其优点.这些调度器是: CFQ (Completely Fair Scheduler完全公平调度器)(cfq) :它是许多 Linux 发行版的默认调度器:它将由进程

Linux进程管理与调度-之-目录导航【转】

转自:http://blog.csdn.net/gatieme/article/details/51456569 版权声明:本文为博主原创文章 && 转载请著名出处 @ http://blog.csdn.net/gatieme   目录(?)[-] 项目链接 进程的描述 进程的创建 进程的加载与运行 进程的退出 进程的调度 调度普通进程-完全公平调度器CFS   日期 内核版本 架构 作者 GitHub CSDN 2016-07-21 Linux-4.6 X86 & arm gat

kernel学习之调度器发展史

调度器的主要工作是在所有 RUNNING 进程中选择最合适的一个.作为一个通用操作系统,Linux 调度器将进程分为了三类:             交互进程:此类进程有大量的人机交互,因此进程不断地处于睡眠状态,等待用户输入.典型的应用比如编辑器 vi.此类进程对系统响应时间要求比较高,否则用户会感觉系统反应迟缓. 批处理进程:此类进程不需要人机交互,在后台运行,需要占用大量的系统资源.但是能够忍受响应延迟.比如编译器. 实时进程:实时对调度延迟的要求最高,这些进程往往执行非常重要的操作,要求

FreeBSD ULE调度器浅析

FreeBSD 5-CURRENT刚刚引入了一个名为ULE调度器的内核调度单元调度器.这个调度器在SMP系统中的效率要远好于FreeBSD以前版本的调度器(目前,那个调度器被称为4BSD调度器). 新的ULE调度器的设计更像Solaris和Linux等操作系统的调度器.Solaris的SMP性能非常好这一点是它的卖点之一,其调度器采用的优秀算法就是一个很重要的原因.BSD派生系统,尽管由于系统整体设计的合理,以及操作系统其他部分的卓越性能弥补了它在SMP调度器上的不足,甚至尽管FreeBSD在绝

Event Scheduler:MySQL的事件调度器

一.概述 事件调度器是在 MySQL 5.1 中新增的另一个特色功能,可以作为定时任务调度器,取代部分原先只能 用操作系统任务调度器才能完成的定时功>能.例如,Linux 中的 crontabe 只能精确到每分钟执行一 次,而 MySQL 的事件调度器则可以实现每秒钟执行一个任务,这在一些对实时性要>求较高的环境下 就非常实用了. 事件调度器是定时触发执行的,在这个角度上也可以称作是"临时的触发器".触发器只是 针对某个表产生的事件执行一些语句,而事件调度器则是在某一个(间

十天学Linux内核之第六天---调度和内核同步

原文:十天学Linux内核之第六天---调度和内核同步 心情大好,昨晚我们实验室老大和我们聊了好久,作为已经在实验室待了快两年的大三工科男来说,老师让我们不要成为那种技术狗,代码工,说多了都是泪啊,,不过我们的激情依旧不变,老师帮我们组好了队伍,着手参加明年的全国大赛,说起来我们学校历史上也就又一次拿国一的,去了一次人民大会堂领奖,可以说老大是对我们寄予厚望,以后我会专攻仪器仪表类的题目,激情不灭,梦想不息,不过最近一段时间还是会继续更新Linux内核,总之,继续加油~ Linux2.6版本中的

工作流调度器azkaban安装

概述 2.1.1为什么需要工作流调度系统 一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序.hive脚本等 各任务单元之间存在时间先后及前后依赖关系 为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行; 例如,我们可能有这样一个需求,某个业务系统每天产生20G原始数据,我们每天都要对其进行处理,处理步骤如下所示: 1. 通过Hadoop先将原始数据同步到HDFS上; 2. 借助MapReduce计算框架对原始数据进行转

调度器之单体调度器

本文讲的是调度器之单体调度器,[编者的话]本文描述了几个简单的单体调度器,基本的配置以及如何在Deis切换调度后端. 调度是一种向处理资源分配工作载荷的方式.在分布式环境中,调度器格外为大家需要,尤其是那些提供扩展性,资源意识以及高效能特性的调度器. 单体调度器是单个进程实体,进行调度决策并完成需要被调度的任务的部署.这些任务可以是长期运行的服务器程序,短期存在的批处理命令,MapReduce查询等等. 为了调度任务的决策,单体调度器需要:观察集群中资源的可用性(例如CPU.内存等),锁住资源,