【问题标题】:Is there any way reduce the I/O wait times in linux jobs?有什么办法可以减少 linux 作业中的 I/O 等待时间?
【发布时间】:2017-08-25 22:07:08
【问题描述】:

我正在运行一个多并行文件处理进程(至少 200 个进程),其中每个进程正在读取不同大小(0-50mb)的日志以捕获日志的实时数据。我在 16 个内核上运行我的作业和 8 gb ram Linux 机器。

但是文件的cpu和经过时间处理之间存在巨大的滞后。

您能否通过一些示例来解释为什么存在这样的 b/w cpu 滞后和经过的时间?还有什么方法可以减少这些进程的等待时间。

【问题讨论】:

  • 一次运行更少的作业以减少 I/O 系统上的争用,或添加更多内存以实现更有效的缓存。
  • 文件是否在共享存储上?
  • @twalberg 我无法运行更少的作业,因为我必须捕获实时数据
  • @MichaelClosson 是的,它们存储在共享存储中
  • 可以在作业执行期间使用本地磁盘,然后在作业结束时将输出复制到共享存储吗?本地磁盘的性能比共享磁盘好得多。

标签: linux file-handling lsf elapsedtime cpu-time


【解决方案1】:

您正在运行什么发行版?我问是因为解决此问题的一种方法是使用不同的 I/O 调度程序,但您的发行版可能不支持更改调度程序。某些 I/O 调度程序最适合不同的文件系统和体系结构,因此我建议查看 here 以了解不同的调度程序。至于您遇到的差异,老实说,我不知道发生了什么。

另外,我假设日志文件位于 SSD 上?

【讨论】:

  • 日志文件是在 HDD 上创建的,我无法使用 I/O 调度程序
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-22
  • 1970-01-01
  • 1970-01-01
  • 2011-11-08
  • 1970-01-01
相关资源
最近更新 更多