首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化Linux I/O调度器

优化Linux I/O调度器
EN

Unix & Linux用户
提问于 2015-10-28 13:53:26
回答 1查看 1K关注 0票数 2

我需要一些帮助来正确地调整用于旋转驱动器的Linux I/O Scheduler。

我有一个进程,它将数据写入一个巨大的(4-16TB)内存映射文件,并且正在使用SHED_FIFO。然后,内核根据一些未知的启发式方法,自动将脏页刷新到文件中。写入数据的过程是实时的,任务至关重要,所以磁盘写入的批次必须优先于读取。

我还有其他几个进程,它们通过内存映射从文件中读取数据,而这些映射并不是任务关键。如果磁盘不能同时完成写和读,那么它就应该尽可能快地读取,而不会影响写操作,这样机器就会耗尽内存。

现在看看不同的I/O调度器,我发现了以下行为:

  • 截止日期:读比写优先
  • cfq:读写具有同样的优先权。

优先级写入读取的调度程序似乎不存在。

现在,我最初的想法是使用"cfq“调度器,然后在读取进程上使用”离子型“,这在理论上应该允许内核始终正确地清除脏页,我认为?

那真的有用吗?有更好的办法吗?

编辑:

看一看和pdflush的概念,人们似乎可以使用一些关于截止日期调度器的设置:

我们正在尝试以下几点:

  • writes_starved: 2(默认) => 1
  • write_expire: 5000 (默认) => 500
  • read_expire: 500 (默认) => 5000

听起来合理吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2015-10-28 16:32:44

电离允许改变每个进程的优先级。据我所知,你有一些写的过程和一些读的过程。手册页表示,它适用于CFQ调度程序。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/239215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档