为什么 Torque qsub 不创建输出文件?
Why Torque qsub don't create output file?
我尝试使用命令
通过 Torque PBS 在集群上启动任务
qsub -o a.txt a.sh
文件 a.sh 包含单个字符串:
hostname
在命令 qsub 之后我做了 qstat 命令,给出了下一个输出:
Job ID Name User Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
302937.voms a.sh user 00:00:00 E long
5 秒后命令 qstat return 空输出(队列中没有作业)。
命令
qsub --version
给出输出:版本:2.5.13
命令
which qsub
输出:/usr/bin/qsub
问题是文件a.txt(来自命令qsub -o a.txt a.sh)没有创建!在终端 returned 中只有作业 ID,没有任何错误。命令
qsub a.sh
具有相同的行为。我该如何解决?有错误的 qsub 日志文件在哪里?
如果我使用命令
qsub -l nodes=node36:ppn=1 -o a.txt a.sh
然后输出我可以在文件夹
中找到的文件
/var/spool/pbs/undelivered
在 node36 上(ssh 登录后)。
输出文件包含字符串 "node36",错误文件为空。
为什么我的文件是 "undelivered"?
输出日志和错误日志文件保存在执行节点的假脱机目录中,并在作业完成后复制回头节点。假脱机目录的位置可能会有所不同。但你应该寻找它
在下面
/var/torque/spool
在节点列表的第一个节点上分配了作业。
有多种原因可能导致扭矩无法传送输出文件。
- 节点上可能不存在提交作业的用户,或者他们的主目录可能无法访问,或者集群节点之间的用户 ID 不匹配。
- Torque 正在使用 ssh 将文件复制到头节点,但尚未在所有节点上一致地设置用户跨集群 ssh 的无密码 public 密钥身份验证。
- 一个节点在作业执行过程中失败。
这个列表并不完整。在 Stack Overflow 上已经可以找到许多处理此类故障的问题。尝试检查以上是否适用于您的情况。
您(或任何其他找到此主题的人)也应该查看此处给出的解决方案:
PBS, refresh stdout
如果您有管理员权限,您可以设置
$spool_as_final_name true
这会导致输出直接写入最终目的地。
我尝试使用命令
通过 Torque PBS 在集群上启动任务qsub -o a.txt a.sh
文件 a.sh 包含单个字符串:
hostname
在命令 qsub 之后我做了 qstat 命令,给出了下一个输出:
Job ID Name User Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
302937.voms a.sh user 00:00:00 E long
5 秒后命令 qstat return 空输出(队列中没有作业)。 命令
qsub --version
给出输出:版本:2.5.13
命令
which qsub
输出:/usr/bin/qsub
问题是文件a.txt(来自命令qsub -o a.txt a.sh)没有创建!在终端 returned 中只有作业 ID,没有任何错误。命令
qsub a.sh
具有相同的行为。我该如何解决?有错误的 qsub 日志文件在哪里?
如果我使用命令
qsub -l nodes=node36:ppn=1 -o a.txt a.sh
然后输出我可以在文件夹
中找到的文件/var/spool/pbs/undelivered
在 node36 上(ssh 登录后)。 输出文件包含字符串 "node36",错误文件为空。 为什么我的文件是 "undelivered"?
输出日志和错误日志文件保存在执行节点的假脱机目录中,并在作业完成后复制回头节点。假脱机目录的位置可能会有所不同。但你应该寻找它
在下面
/var/torque/spool
在节点列表的第一个节点上分配了作业。
有多种原因可能导致扭矩无法传送输出文件。
- 节点上可能不存在提交作业的用户,或者他们的主目录可能无法访问,或者集群节点之间的用户 ID 不匹配。
- Torque 正在使用 ssh 将文件复制到头节点,但尚未在所有节点上一致地设置用户跨集群 ssh 的无密码 public 密钥身份验证。
- 一个节点在作业执行过程中失败。
这个列表并不完整。在 Stack Overflow 上已经可以找到许多处理此类故障的问题。尝试检查以上是否适用于您的情况。
您(或任何其他找到此主题的人)也应该查看此处给出的解决方案: PBS, refresh stdout
如果您有管理员权限,您可以设置
$spool_as_final_name true
这会导致输出直接写入最终目的地。