【问题标题】:Check real time output after qsub a job on clusterqsub 集群上的作业后检查实时输出
【发布时间】:2015-04-17 14:12:20
【问题描述】:
这是我的 pbs 文件:
#!/bin/bash
#PBS -N myJob
#PBS -j oe
#PBS -k o
#PBS -V
#PBS -l nodes=hpg6-15:ppn=12
cd ${PBS_O_WORKDIR}
./mycommand
在 qsub 文档页面上,好像我把这行
PBS -k o,我应该能够在我的主目录中名为 myJob.oJOBID 的文件中检查实时输出。但是,当我在运行时通过tail -f 或cat 或more 检查输出时,文件中没有显示任何内容。只有当我终止工作时,文件才会显示输出。我应该检查什么以使流实时刷新到输出文件?
【问题讨论】:
标签:
cluster-computing
qsub
torque
【解决方案2】:
假设您被允许登录到运行您的进程的节点(这是我们集群的管理员在作业期间允许的,不确定这是否常见),那么您可以获得实时输出由
- 获取您的进程的
PID
- 浏览此进程使用
lsof -n -p <PID> 打开的文件,并找到名称“看起来像”日志的文件。在我们的集群中,文件是
/cm/local/apps/pbspro-ce/var/spool/spool/[JOBID][server].OU
/cm/local/apps/pbspro-ce/var/spool/spool/[JOBID][server].ER
.OU 是标准输出,.ER 是标准错误。然后你可以tail -f获取实时输出。
lsof 的输出可能很长,所以你应该尝试grepping 你的 JOBID,或者这个位 pbspro-ce/var/spool/。
很想知道这是否可以在我们自己的集群中复制。