我需要一些帮助来正确地调整用于旋转驱动器的Linux I/O Scheduler。
我有一个进程,它将数据写入一个巨大的(4-16TB)内存映射文件,并且正在使用SHED_FIFO。然后,内核根据一些未知的启发式方法,自动将脏页刷新到文件中。写入数据的过程是实时的,任务至关重要,所以磁盘写入的批次必须优先于读取。
我还有其他几个进程,它们通过内存映射从文件中读取数据,而这些映射并不是任务关键。如果磁盘不能同时完成写和读,那么它就应该尽可能快地读取,而不会影响写操作,这样机器就会耗尽内存。
现在看看不同的I/O调度器,我发现了以下行为:
优先级写入读取的调度程序似乎不存在。
现在,我最初的想法是使用"cfq“调度器,然后在读取进程上使用”离子型“,这在理论上应该允许内核始终正确地清除脏页,我认为?
那真的有用吗?有更好的办法吗?
编辑:
看一看和pdflush的概念,人们似乎可以使用一些关于截止日期调度器的设置:
我们正在尝试以下几点:
听起来合理吗?
发布于 2015-10-28 16:32:44
电离允许改变每个进程的优先级。据我所知,你有一些写的过程和一些读的过程。手册页表示,它适用于CFQ调度程序。
https://unix.stackexchange.com/questions/239215
复制相似问题