在服务器pbs提交R程序的步骤:
在当前.R目录下生成一个.sh文件,如命名为sub.sh,内容如下:
#PBS -N jobname #PBS -l nodes=cnode2:ppn=1 cd $PBS_O_WORKDIR R CMD BATCH --no-save Rscript.R
(以上jobname为自定义的任务名称,第二行代码指定把任务提交到node2,占用其中1个节点。还有其他PBS参数指定如walltime,后面的案例中都会有所说明。)
说明:服务器上装了两套R,一套使用gcc编译器,另一套使用icc编译器,默认的为icc,调用gcc的方法为:/public/software/R-3.3.3/gcc/bin/R
或者通过qsub -l提交 qsub -l nodes=cnode2:ppn=1
qstat
是查看所有任务的排队以及运行情况,通常在需要删除或者看自己的程序是否进行运行的时候,会使用这个命令进行查看。
pestat
则是可以在提交代码之前,查看哪些节点有空闲,或者占用率比较小,这样提交的时候就可以选择负荷比较小的节点进行提交。
首先使用qstat
查看你的提交的任务的编号,然后使用del 四位数编号
,即可进行删除。
下面用两个实际的提交方式来进行说明讲解。
#!/bin/sh -x #PBS -l nodes=cnode2:ppn=10 #PBS -N mytask1 #PBS -l walltime=30000:00:00 #PBS -o stdout_file #PBS -e stderr_file #PBS -m abe #PBS -M mymail@qq.com cd $PBS_O_WORKDIR date hostname /public/home/name/python36/Python-3.6.5/python36 /public/home/name/code.py date
上述代码表示:
- 使用第二节点,10个线程;
- 任务名为:mytask1;
- 输出信息文件名:stdout_file;
- 错误信息文件名:stderr_file;
- 开始运行,或者运行完成时发送邮箱提醒,邮箱名:mymail@qq.com;
- Python安装位置:/public/home/name/python36/Python-3.6.5/python36
- 代码位置:/public/home/name/code.py
#!/bin/sh -x #PBS -l nodes=1:ppn=30 #PBS -N mytask2 #PBS -l walltime=30000:00:00 #PBS -o stdout_file #PBS -e stderr_file #PBS -m abe #PBS -M mymail@qq.com cd $PBS_O_WORKDIR date hostname /public/home/name/R-3.2.5/bin/R CMD BATCH /public/home/name/code.R /public/home/name/code.Rout date
这个与上述不同的主要是:
- 使用一个节点(自动排队分配,任意一个),30个线程;
- 任务名为:mytask2;
- R安装位置:/public/home/name/R-3.2.5/bin/R
- 代码位置:/public/home/name/code.R
- R代码输出信息:/public/home/name/code.Rout