如何在 Ubuntu 上获得 I/O 优先级?

Pau*_*per 5 performance io scheduler

Ubuntu 有ionice,但据我所知,它绝对没有任何作用。

我怀疑这是因为Ubuntu用deadline替换了cfq,而deadline不支持优先级

是否有任何可能的方法可以在 Ubuntu 上设置 I/O 优先级?

编辑:上下文是我有一个数据库恢复,它很容易消耗我所有的 I/O 并使我的系统在完成之前无法使用。我希望它仍然可用于其他任务。

Rob*_*edl 1

您必须将调度程序从 更改deadlinecfq

您可以通过每个块设备和非永久方式执行此操作

sudo echo cfq > /sys/block/<blockdevice>/queue
Run Code Online (Sandbox Code Playgroud)

或者对于整个系统,永久通过grub,将参数添加elevator=cfq到 grub 命令行选项中。

这是一篇很好的文章,解释了如何做到这一点。

这种变化的缺点在其他地方有更好的介绍。

TL;DR 是

根据测试结果,每个调度器都比其他调度器有不同的优势。CFQ调度器适用于需要平衡I/O访问且不需要进程优先级的系统。Deadline调度器在读密集型工作上有更好的性能。Noop 适用于云或虚拟机管理程序上的系统。BFQ 在交互式用例场景中表现更好。Noop 是最简单的调度程序,它被认为具有针对 SSD 块设备的优化新实现的潜力。


归档时间:

查看次数:

1178 次

最近记录:

4 年,6 月 前