【问题标题】:PBS, refresh stdoutPBS,刷新标准输出
【发布时间】:2012-05-10 03:17:01
【问题描述】:

我有一个长期运行的 Torque/PBS 作业,我想监控输出。但是只有在作业完成后才会复制日志文件。有没有办法说服 PBS 刷新它?

【问题讨论】:

  • 为了人们(比如我)的利益,他们正在寻找“我如何用 that 来做 this?”用于此的 Platform/Spectrum LSF 模拟是 bpeek

标签: parallel-processing batch-processing pbs torque


【解决方案1】:

这在 TORQUE 中是可能的。如果你有一个共享文件系统,你可以设置

$spool_as_final_name 真

在妈妈的配置文件中。这将使文件直接写入最终输出目标,而不是在假脱机目录中假脱机。设置完成后,您可以使用 tail -f 输出文件并监控您想要的任何内容。

http://www.adaptivecomputing.com/resources/docs/torque/3-0-3/a.cmomconfig.php(搜索 spool_as_final_name

【讨论】:

  • 不,它不能由用户控制,但很多系统管理员也喜欢这个功能。
【解决方案2】:

不幸的是,AFAIK,PBS/Torque 无法做到这一点——stdout/stderr 流在执行主机上本地假脱机,然后在作业完成后传输到提交主机。如果您想在执行期间对其进行监控,您可以将程序的标准输出重定向到一个文件(仅当执行和 sumit 主机共享一个公共文件系统时才有意义)。

我怀疑其基本原理是它允许在不与提交节点共享文件系统的节点上执行作业。

【讨论】:

  • 我发现了一个 -k 标志,但它不是很好 - 所以我最终在队列外捕获了标准输出。 ://
  • 作为 SGE 用户很长时间以来能够立即看到输出文件,我确实感受到了您的痛苦。巧合的是,我今天花了半个下午在 MOAB/Torque 系统上寻找 LSF 的 bpeek 命令的替代方案,但令人沮丧的是没有找到。
【解决方案3】:

对我来说,通过 ssh 连接到正在运行作业的节点并查看 /var/spool/torque/spool/ 下的文件是可行的,但它可能特定于这个特定的环境。

【讨论】:

    【解决方案4】:

    如果你提交一个 shell 脚本,你也可以把这两个命令放在脚本的开头。

    exec 1>file.stdout
    exec 2>file.stderr
    

    这会将 stdout 和 stderr 的输出放在您作业的工作目录中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-12
      • 2013-11-04
      • 1970-01-01
      • 2019-11-22
      • 1970-01-01
      • 2011-01-08
      • 2018-07-20
      相关资源
      最近更新 更多