【问题标题】:qsub on PBS doesn't give outputPBS 上的 qsub 不提供输出
【发布时间】:2018-01-04 00:04:21
【问题描述】:

我正在尝试向 PBS 提交 python 作业并将打印的内容作为输出。一个简单的例子如下:

python 文件 test.py:

import time
print(time.time())

pbs提交文件job_test.pbs:

#!/bin/bash
#PBS -l nodes=2:ppn=8,walltime=8:00:00
#PBS -N test
#PBS -q gpu

module load anaconda/3 torque cuda80 cudnn

cd /path-to-the-test.py-program
python test.py

最后是 qsub 命令:

qsub job_test.pbs

由于这项工作非常简单,我将使用 qstat 立即看到状态从 Q 变为 E 和 C。然后问题来了,我没有看到应该在 /path-to-the-test.py-program 中的输出文件。我尝试在 PBS 脚本中设置 #PBS -o /path-to-the-test.py-program/output.txt 并使用命令作为 qsub -o /path- to-the-test.py-program/output.txt job_test.pbs 但它们都不起作用。那么我该怎么做呢?

【问题讨论】:

    标签: pbs qsub


    【解决方案1】:

    我以前遇到过这个。

    我不太确定您是如何遇到问题的,但我的情况是我在节点之间没有免密码登录。

    你可以这样检查:

    1. ssh到你的计算节点,如果你需要密码,那么你的问题很可能和我的一样。

    2. 检查系统日志(如root),通常在/var/log/messages,然后找到类似

    Apr 10 14:52:19 node1 pbs_mom: LOG_ERROR::sys_copy, command '/usr/bin/scp -rpB /var/spool/torque/spool/242.master.OU user@master:/home/user/path/to/sample.pbs.o242' failed with status=1, giving up after 4 attempts
    

    关键是scp的失败。

    1. 检查/var/spool/torque/spool/--- 输出文件应该在那里。

    所以如果你的情况和我的一模一样,你可以ssh-copy-id 到你的计算节点。在我的例子中,因为我们使用 NFS 驱动程序挂载了/home 目录,所以所有节点共享相同的/home,我只需要

    ssh-keygen
    ssh-copy-id -i ~/.ssh/id_rsa localhost
    

    希望我的回答有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多