【发布时间】: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