Parallel processing PBS,刷新标准输出

Parallel processing PBS,刷新标准输出,parallel-processing,batch-processing,pbs,torque,Parallel Processing,Batch Processing,Pbs,Torque,我有一个长期运行的Torque/PBS工作,我想监控输出。但日志文件只有在作业完成后才会被复制。有没有办法说服PBS刷新它?不幸的是,AFAIK,这在PBS/Torque中是不可能的-stdout/stderr流在执行主机上本地假脱机,然后在作业完成后传输到提交主机。如果希望在执行过程中监视程序的标准输出,则可以将程序的标准输出重定向到文件(只有在执行和sumit主机共享一个公共文件系统时才有意义) 我怀疑其基本原理是,它允许在与提交节点不共享文件系统的节点上执行作业。这在TORQUE中是可能的

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

不幸的是,AFAIK,这在PBS/Torque中是不可能的-stdout/stderr流在执行主机上本地假脱机,然后在作业完成后传输到提交主机。如果希望在执行过程中监视程序的标准输出,则可以将程序的标准输出重定向到文件(只有在执行和sumit主机共享一个公共文件系统时才有意义)


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

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

$spool\u作为\u final\u name true

在妈妈的配置文件中。这将使文件直接写入最终输出目标,而不是在假脱机目录中进行假脱机。一旦设置好了,您就可以跟踪输出文件并监视任何您想要的内容


(为我搜索spool\u作为\u final\u name

,通过ssh连接到作业运行的节点,查看
/var/spool/torque/spool/
下的文件,但它可能特定于此特定环境。

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

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

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

我发现了一个
-k
标志,但它不是很好-因此我最终在队列外捕获了stdout。:/作为一个长期的SGE用户,习惯于能够立即看到输出文件,我确实感受到了您的痛苦。巧合的是,我在oon今天在MOAB/Torque系统上寻找LSF的
bpeek
命令的替代品,但令人沮丧的是没有找到。不,它不能由用户控制,但许多系统管理员也喜欢这个功能。为了让人们(像我一样)受益,寻找“我如何用它做这个?”的平台/频谱LSF模拟是。