计算化学公社

标题: 经常遇到高斯在登录节点上运行,请问如何处理 [打印本页]

作者
Author:
lastzealot    时间: 2015-5-14 19:49
标题: 经常遇到高斯在登录节点上运行,请问如何处理
如题
每次高斯在登录节点上运行都会被管理员把任务杀掉,请问如何写脚本才不会有这个问题?

这是我的脚本内容(脚本文件名为bats.sh,用setsid sh bats.sh &命令来运行)
#!/bin/bash
for inf in *.gjf
do
outf=`echo ${inf}|tr "gjf" "out"`
g09 < ${inf} > ${outf}
done


谢谢老师。

作者
Author:
zhanfei    时间: 2015-5-14 22:04
一般登录节点都会限制资源使用,保证大家正常登录进行设置 调试等工作,计算作业提交到指定计算队列就行了
作者
Author:
lastzealot    时间: 2015-5-14 22:31
zhanfei 发表于 2015-5-14 22:04
一般登录节点都会限制资源使用,保证大家正常登录进行设置 调试等工作,计算作业提交到指定计算队列就行了

管理员说需要在我的pbs脚本中增加一些内容
我就不懂了。我这个脚本也不是什么pbs脚本啊!
还需要增加哪些内容呢?
作者
Author:
zhanfei    时间: 2015-5-14 22:40
本帖最后由 zhanfei 于 2015-5-15 00:28 编辑
lastzealot 发表于 2015-5-14 22:31
管理员说需要在我的pbs脚本中增加一些内容
我就不懂了。我这个脚本也不是什么pbs脚本啊!
还需要增加哪 ...

那就是#PBS设置申请的队列 资源(节点数 cpu数) 日志文件 等等 google下或者直接问管理员,有时集群是根据标准pbs修改的有些不同
作者
Author:
lastzealot    时间: 2015-5-15 15:18
zhanfei 发表于 2015-5-14 22:40
那就是#PBS设置申请的队列 资源(节点数 cpu数) 日志文件 等等 google下或者直接问管理员,有时集群是根 ...

谢谢,您说的很对。
今天管理员把我的脚本修改了,改成如下格式:
#PBS -N g09
#PBS -l nodes=1:ppn=1
#PBS -l walltime=7200:00:00
#PBS -q inspur
#PBS -V
#PBS -S /bin/bash
         
# code
EXEC=g09

# build nodelist
cd $PBS_O_WORKDIR

# execute parallel program
$EXEC < 1.gjf > 2.out

但是,我原先用的是批处理的脚本,格式如下:
#!/bin/bash
for inf in *.gjf
do
outf=`echo ${inf}|tr "gjf" "out"`
g09 < ${inf} > ${outf}
done

我想把批处理任务写在pbs脚本中,请问上面的那个pbs脚本应该如何修改?
作者
Author:
abdoman    时间: 2015-5-16 20:08
先写生成N个pbs 脚本,然后在提交。

for inf in *fjf
do

### generate pbs file
cat <<EOF > $inf.pbs
#PBS -N g09
#PBS -l nodes=1:ppn=1
#PBS -l walltime=7200:00:00
#PBS -q inspur
#PBS -V
#PBS -S /bin/bash
         
# code
EXEC=g09

# build nodelist
cd $PBS_O_WORKDIR

# execute parallel program
$EXEC < $inf.gjf > $inf.out
EOF

### submit the job
qsub $inf.pbs

done
作者
Author:
lastzealot    时间: 2015-5-16 22:21
abdoman 发表于 2015-5-16 20:08
先写生成N个pbs 脚本,然后在提交。

for inf in *fjf

谢谢
把它们合到一起行不行?如下
#PBS -N g09
#PBS -l nodes=1:ppn=1
#PBS -l walltime=7200:00:00
#PBS -q inspur
#PBS -V
#PBS -S /bin/bash
         
# code
EXEC=g09

# build nodelist
cd $PBS_O_WORKDIR

# execute parallel program
$EXEC
for inf in *.gjf
do
outf=`echo ${inf}|tr "gjf" "out"`
g09 < ${inf} > ${outf}
done
作者
Author:
lastzealot    时间: 2015-5-17 15:34
abdoman 发表于 2015-5-16 20:08
先写生成N个pbs 脚本,然后在提交。

for inf in *fjf

请问这个脚本的最下方
### submit the job
qsub $inf.pbs

done
也是在脚本里面写的吗?

最后的提交命令是
qsub 最终的pbs文件名.pbs &
吗?
作者
Author:
zhanfei    时间: 2015-5-18 16:36
lastzealot 发表于 2015-5-17 15:34
请问这个脚本的最下方
### submit the job
qsub $inf.pbs

#PBS 设置和脚本部分没什么关系,#PBS设置完,下面直接写你的脚本就行。qsub 是你对脚本文件提交的命令不写在脚本里
作者
Author:
lastzealot    时间: 2015-5-19 09:00
zhanfei 发表于 2015-5-18 16:36
#PBS 设置和脚本部分没什么关系,#PBS设置完,下面直接写你的脚本就行。qsub 是你对脚本文件提交的命令不 ...

谢谢




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3