当前位置: 首页 > 科技观察

如何更改LinuxI-O调度器_0

时间:2023-03-18 12:24:27 科技观察

Linux的I/O调度器是一种以块I/O方式访问存储卷的进程,有时也称为磁盘调度器。LinuxI/O调度器的工作机制是控制块设备的请求队列:确定队列中哪个I/O的优先级高,何时将I/O发送给块设备,从而减少磁盘寻道时间,从而提高系统吞吐量。Linux上目前有几种I/O调度算法:noop——通常用于内存存储设备。cfq-完全公平的调度程序。进程平均使用IO带宽。Deadline-延迟的调度器,每个I/O都有一个最晚的执行时间。Anticipatory-启发式调度,类似于Deadline算法,但引入了预测机制以提高性能。查看设备当前的I/O调度器:#cat/sys/block//queue/scheduler假设磁盘名为/dev/sdc:#cat/sys/block/sdc/queue/schedulernoopanticipatorydeadline[cfq]如何更改硬盘设备I/O调度器使用如下命令:#echo{SCHEDULER-NAME}>/sys/block//queue/scheduler例如设置noop调度器:#echonoop>/sys/block/sdc/queue/scheduler以上设置重启后会失效,如果配置重启后仍然生效,需要在内核启动参数中将elevator=noop写入/boot/grub/menu.lst:1.备份menu.lst文件cp-p/boot/grub/menu.lst/boot/grub/menu.lst-backup2。更新/boot/grub/menu.lst,在文件末尾添加elevator=noop,例如:kernel/vmlinuz-2.6.16.60-0.91.1-smproot=/dev/sysvg/rootsplash=silentsplash=offshowoptselevator=noop