如何更改 Linux 的 I/O 调度器
创始人
2024-03-01 19:16:28
0

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 调度器:

# cat /sys/block//queue/scheduler

假设磁盘名称是 /dev/sdc

# cat /sys/block/sdc/queue/scheduler
noop anticipatory deadline [cfq]

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

使用如下指令:

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

比如设置 noop 调度器:

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

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

1. 备份 menu.lst 文件

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

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

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

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

via: http://linuxroutes.com/change-io-scheduler-linux/

作者:UX Techno 译者:honpey 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

Steam Deck的CP...
快科技12月24日消息,meta近日在Linux Plumbers...
2026-01-20 22:22:13
OpenAI 推出两款开源...
DoNews8月6日消息,OpenAI 宣布推出两款开源模型 GP...
2025-08-06 10:42:52
【Java I/O流 基本...
文章目录File类学习字节流与字符流缓冲流转换流对象流NIO Fi...
2025-05-31 09:37:50
不同线程中的多个调度器会延...
使用单个线程的调度器。可以在主线程中创建一个调度器,并使用定时器来...
2025-01-09 21:30:20
不同类型的任务调度器实现类...
不同类型的任务调度器实现类之间的区别主要体现在任务调度的策略、调度...
2025-01-09 08:00:37
不同操作符下的RXJava...
在RxJava中,可以使用不同的操作符来切换调度器/线程,以控制O...
2025-01-08 09:01:58

热门资讯

如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Textual:为 Pytho... 快速入门使用 TextualPython 在 Linux 上有像 TkInter 这样的优秀 GUI...
硬核观察 #1245 Open... #1 OpenAI 悄然删除禁止将 ChatGPT 用于 “军事和战争” 的禁令在 1 月 10 日...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
硬核观察 #1249 LG 洗... #1 LG 洗衣机每天上传近 4GB 的数据?一个名为 Johnie 的 LG 洗衣机用户发现,他的...
2024 年 Linux 和开... 让我们尝试预测未来吧!新的一年快乐,朋友们 ✨2024 年的钟声已经敲过,我们有必要去预见一下将塑造...