【问题标题】:How to direct qsub output stream to pwd instead of home如何将 qsub 输出流定向到 pwd 而不是 home
【发布时间】:2015-12-01 15:28:52
【问题描述】:

输入 qsub 命令后,输出流在运行时会在我的主目录中更新。这给我带来了两个问题:

1) 我的 /home/brian 文件夹很慢,甚至写了几个文本字符。具有大量输出文本的实用程序速度慢得令人沮丧。但是,我的作业文件位于 /tmp/brian 中,这个位置非常快,并且位于计算节点的本地。

2) 如果我在 /tmp/brian 中运行 myscript.sh,我希望输出流在运行时在同一个文件夹中更新,这样我就可以检查结果,而无需在不同的文件夹中搜索工作。

我已经尝试过这个以及 qsub 命令的几种排列方式:

cd /tmp/brian
set HOME=`pwd`
qsub -j oe -k oe -d `pwd` -w `pwd` -v "HOME=`pwd`,PBS_O_HOME=`pwd`" "./my_script.sh"

我可以设置 -e 和 -o 选项以在运行后将流放在 /tmp/brian 中,但在运行期间我无法让它在 /tmp 中更新,只能在我的主文件夹中更新。

如果我在 my_script.sh 中键入“env”命令,我会得到这些:

HOME=/home/brian
PWD=/tmp/brian
PBS_O_HOME=/tmp/brian
PBS_O_INITDIR=/tmp/brian
PBS_O_WORKDIR=/tmp/brian

$HOME 环境变量设置不正确,尽管它是显式传递的。也许某处有一个配置文件覆盖了我的设置?

【问题讨论】:

  • 如何将脚本的输出直接重定向到带有“>”的文件中?喜欢在myscript.sh 中有类似于./a.out > $PBS_O_WORKDIR/output.$PBS_JOBID 的行吗?
  • 我们有几个用户使用了许多现有的脚本,如果不得不更新每个内部命令来复制在其他地方创建的文件,那将是一种耻辱。它仍然会很慢,因为 qsub 仍在花时间写入 /home/brian 文件夹。
  • 可能为时已晚,但是...脚本如何确定输出目录?他们是做echo xyz >$HOME/file.txt 之类的事情,还是做>/home/brian/file.txt 之类的事情?在后一种情况下,改变行为的机会很小。如果将输出写入您家中的文件夹,您可以尝试从 /home/brian/folder -> /tmp/brian/folder 创建符号链接。
  • 你试过#PBS -e="experiment_output_job.%j.%N.out" -e 和 -o 选项对你有用吗?
  • 相关:community.openpbs.org/t/…How to include the job id and other info in the output file for qsub?

标签: linux stream cluster-computing hpc qsub


【解决方案1】:

使用 -D 定义要用于作业的根目录

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多