打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
服务器pbs傻瓜操作
userphoto

2022.06.10 安徽

关注

在服务器pbs提交R程序的步骤:

编写Rscript.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,后面的案例中都会有所说明。)


提交任务:qsub sub.sh

说明:服务器上装了两套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是查看所有任务的排队以及运行情况,通常在需要删除或者看自己的程序是否进行运行的时候,会使用这个命令进行查看。

pestat则是可以在提交代码之前,查看哪些节点有空闲,或者占用率比较小,这样提交的时候就可以选择负荷比较小的节点进行提交。


删除任务:del 编号(四位数)

首先使用qstat查看你的提交的任务的编号,然后使用del 四位数编号,即可进行删除。

1、批量删除同一个用户的任务

如果要删除一个用户所有的作业,可以使用qselect结合xargs命令,进行作业编号的提取和对指定编号作业的删除

qselect -u user_id | xargs qdel

其中,xargs命令的作用是对读入标准输入的内容分行,并对其中每一行的内容都执行相同的命令,在这里xargs读入了前面管道中qselect命令得到的某用户的所有作业编号,对于每个编号执行了qdel命令,起到了删除该用户名下所有作业的效果

2、进一步缩小删除范围

利用qselect命令,我们可以增加参数进一步缩减选择的作业范围,详细信息可以参考man qselect中的说明

参数说明
-N指定作业名字
-s指定状态
-u指定用户列表

例如,删除某用户所有正在排队的任务我们可以使用如下命令:

qselect -u user_name -s Q | xargs qdel

实际案例说明

下面用两个实际的提交方式来进行说明讲解。

1、Python代码提交

#!/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

2、R代码提交

#!/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

参考:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
新能源:四大子行业彰显投资魅力(4)
服务器集群任务调度系统大比拼!
小白能学会Python吗?能不能学习?
9个Python极简代码,拿走即用
python如何使用
本文送给希望用python写出爬虫程序的零基础小伙伴
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服