作家
登录

调整Linux I/O调度器优化系统性能

作者: 来源: 2017-09-01 13:32:35 阅读 我要评论

图3 CFQ的工作流程

调剂Linux I/O调剂器优化体系机能

调剂Linux I/O调剂器优化体系机能

5 NOOP

NOOP全称No Operation,中文名称电梯式调剂器,该算法实现了最简单的FIFO队列,所有I/O请求大年夜致按照先来后到的次序进行操作。NOOP实现了一个简单的FIFO队列,泥像电梯的工作主法一样对I/O请求进行组织。它是基于祖先先出(FIFO)队列概念的 Linux 内菏攀里最简单的I/O 调剂器。此调剂法度榜样最合适于固态硬盘。NOOP的工作流程如图4 所示。

图4 NOOP的工作流程

I/O调剂器的选择

今朝主流Linux发行版本应用三种I/O调剂器:DeadLine、CFQ、NOOP,平日来说Deadline实用于大年夜多半情况,特别噬烫蛛较多的文件办事器,大年夜道理上看,DeadLine是一种以进步机械硬盘吞吐量为思虑出发点的调剂算法,尽量包管在有I/O请求达到最终刻日的时刻进行调剂,异常合适营业比较单一并且I/O压力比较重的营业,比如Web办事器,数据库应用等。CFQ 为所有过程分派等量的带宽,实用于有大年夜量过程的多用户体系,CFQ是一种比较通用的调剂算法,它是一种以过程为出发点推敲的调剂算法,包管大年夜家尽量公平,为所有过程分派等量的带宽,合适于桌面多义务及多媒体应用。NOOP 对于闪存设备和嵌入式体系是最好的选择。对于固态硬盘来说应用NOOP是最好的,DeadLine次之,而CFQ效力最低。

查看Linux体系的 I/O调剂器

查看Linux体系的I/O调剂器一般分成两个部分,一个是查看Linux体系整体应用的I/O调剂器,另一个是查看某磁盘应用的I/O调剂器。

查看当前体系支撑的I/O调剂器,应用如下敕令:

清单 1. 查看当前体系支撑的I/O调剂器

  1. # dmesg | grep -i scheduler 
  2. [    1.508820] io scheduler noop registered 
  3. [    1.508827] io scheduler deadline registered 
  4. [    1.508850] io scheduler cfq registered (default

清单1的代码显示cfq是今朝的I/O调剂器。

查看某块硬盘的IO调剂算法I/O调剂器,应用如下敕令:

  1. # cat /sys/block/sda/queue/scheduler 
  2. noop deadline [cfq] 

清单2显示当前应用的调剂器是cfq,就是括号括起来的那一个。

修改Linux体系的 I/O调剂器

应用shell敕令

Linux下更改的I/O调剂器很简单。不须要更新内核,可以应用shell敕令修改:

清单3. 查应用shell敕令

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

清单3的敕令把noop设置为一个磁盘的I/O调剂器,你可以随时更改而无需重启计算机。

永远修改默认的I/O调剂器

应用grubby敕令

清单4.应用grubby敕令

  1. # grubby --grub --update-kernel=ALL --args="elevator=deadline" 

清单4的敕令,经由过程设置内核加载参数, 如许当机械重启的时刻,体系主动把所有设备的 I/O调剂器变成 DeadLine 。

应用编辑器修改设备文件

也可以直接编辑grub的设备文件 ,经由过程修改grub设备文件,体系主动把所有设备的 I/O调剂器变成cfq。操作过程如下:

清单5 应用vi编辑器修改grub设备文件

  1. #vi cat /etc/default/grub 
  2. #修改第五行,在行尾添加# 
  3. elevator= cfq  
  4. 然后保存文件,从新编译设备文件, 
  5. #grub2-mkconfig -o /boot/grub2/grub.cfg 

从新启动计算机体系即可。

总结

Linux I/O调剂器是 Linux 内核中的一个构成部分,用户可以经由过程根据不合的存储器来设置 Linux I/O 调剂器大年夜而达到优化体系机能。 一般来说 NOOP 调剂器最合适于固态硬盘,DeadLine 调剂器实用于写入较多的文件办事器,比如Web办事器,数据库应用等,而CFQ 调剂器合适于桌面多义务及媒体应用。

【编辑推荐】

  1. 在Linux中瓜分和重组文件
  2. Linux Shell脚本履行超时怎么办?
  3. Linux法度榜样设计的一些优化办法
  4. 六个优雅的Linux敕令行技能
  5. Linux启动分析——init过程与app启动
【义务编辑:未丽燕 TEL:(010)68476606】

  推荐阅读

  最适合使用RxJava处理的四种场景

RxJava是异常热点的函数响应式编程库,在Android开辟中已经异常风行了,刚开端上手会有点难,但只要懂得了它,就再也回不去了;不应用RxJava写异步请求的话,就感到各类不爽。本文不预备讲>>>详细阅读


本文标题:调整Linux I/O调度器优化系统性能

地址:http://www.17bianji.com/lsqh/37099.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)