gpt4 book ai didi

linux - 仅针对一项作业的可移植批处理系统负载平衡器输出

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:12 25 4
gpt4 key购买 nike

我正在使用一个使用作业管理软件的集群 Portable Batch System(PBS)在 Linux 上并按照以下方式提交我的作业

qsub script.sh

通常我的 script.sh 是以下形式,例如,当使用 R 运行作业时

#!/bin/bash

#PBS -N jobName
#PBS -o output-log
#PBS -e error-log
#PBS -t 1-10
#PBS -l walltime=12:00:00
#PBS -l nodes=1:ppn=16
#PBS -S /bin/bash


#Early out if non zero exit status.
set -e

if [ -n "${1}" ]; then
echo "${1}"
PBS_ARRAYID=${1}
fi

i=${PBS_ARRAYID}

module add languages/R-3.3.1-ATLAS

R --no-save --args ${i} < ~/some_statistics.R

但是,尚不清楚如何使用

生成输出日志
#PBS -o output-log

仅针对作业的一个实例。例如,当 i=1

时,只输出第一个作业

我看过我所在机构提供的手册,但遗憾的是仍然不清楚。

我考虑过在上面的提交脚本中插入一个条件来删除不需要的输出日志,但是由于这些作业很可能并行运行并且需要大约恒定的时间,因此它并没有解决磁盘配额的问题在作业运行时使用。

最佳答案

丢弃除一个进程以外的所有进程的日志:

if [ $i -eq 1 ]; then
R --no-save --args ${i} < ~/some_statistics.R
else
R --no-save --args ${i} < ~/some_statistics.R >/dev/null
fi

基本上,当 $i 不为 1 时,将输出重定向到任何地方。

关于linux - 仅针对一项作业的可移植批处理系统负载平衡器输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46043955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com