转载声明:文章来源https://blog.csdn.net/ZH5610/article/details/79351221
I/O
任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果。输入是Input,输出是Output,因此,我们把输入输出统称为Input/Output,或者简写为IO。
1.两种调度程序
1) NOOP(电梯式调度程序)
特点: NOOP倾向饿死读而利于写.
因为写请求比读请求更容易.写请求通过文件系统cache,不需要等一次写完成,就可以开始下一次写操作,写请求通过合并,堆积到I/O队列中.读请求需要等到它前面所有的读操作完成,才能进行下一次读操作.在读操作之间有几毫秒时间,而写请求在这之间就到来,饿死了后面的读请求.
2) Deadline(截止时间调度程序)
特点: 通过时间以及硬盘区域进行分类,这个分类和合并要求类似于noop的调度程序.
Deadline确保了在一个截止时间内服务请求,这个截止时间是可调整的,而默认读期限短于写期限.这样就防止了写操作因为不能被读取而饿死的现象.
Deadline对数据库环境(ORACLE RAC,MYSQL等)
2.查看当前系统支持的IO调度算法
3.查看当前系统的I/O调度方法:
4.临时的更改I/O调度方法:
例如:想更改到noop电梯调度算法:
echo noop > /sys/block/sda/queue/scheduler
5.永久更改调度算法:
CentOS7:
[root@localhost ~]# grubby --update-kernel=ALL --args="elevator=deadline"
[root@localhost ~]# reboot
[root@localhost ~]# cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
CentOS6:
# vim /boot/grub/menu.lst
更改到如下内容:
kernel /boot/vmlinuz-2。6。32-504.el6 ro root=LABEL=/ elevator=deadline rhgb quiet
帖子还没人回复快来抢沙发