Linux常见操作和PBS使用
一些PBS学习时总结
PBS
(Portable Batch System)最初由NASA的Ames研究中心开发,主要为了提供一个能满足异构计算网络需要的软件包,用于灵活的批处理,特别是满足高性能计算的需要,如集群系统、超级计算机和大规模并行系统。PBS的主要特点有:代码开放,免费获取;支持批处理、交互式作业和串行、多种并行作业,如MPI、 PVM、HPF、MPL;PBS是功能最为齐全, 历史最悠久, 支持最广泛的本地集群调度器之一. PBS的目前包括openPBS, PBS Pro和Torque三个主要分支. 其中OpenPBS是最早的PBS系统, 目前已经没有太多后续开发, PBS pro是PBS的商业版本, 功能最为丰富. Torque是Clustering公司接过了OpenPBS, 并给与后续支持的一个开源版本。
常用指令
文件操作
ls
显示当前文件夹所有非隐藏文件
ll
是ls -l
显示ls的详细信息
ls -a
显示隐藏文件夹
pwd
显示当前目录
cd
切换目录
mkdir
创建文件夹
rmdir
删除文件夹
touch
创建空白文件
cp
复制
mv
移动
rm
删除
rm -r
删除所有
rm -i
逐个询问删除
rm -f
强制删除慎用
ln -s
建立文件和文件软链接(快捷方式)
cat
显示文件cat file1 file2 >file
文件合并
echo
显示输入的内容 追加文件echo "hello world" >> script.txt
安装操作
打包解包
1 |
|
具体
1 |
|
其他
1 |
|
编译
1 |
|
1 |
|
文件编辑查看
vi/vim 文件编辑
PBS命令介绍
qsub —— 用于提交作业脚本
1
2
3
4
5
6
7
>命令格式:
>qsub [-a date_time] [-c interval] [-C directive_prefix]
>[-e path] [-I] [-j join] [-k keep] [-l resource_list] [-m mail_options]
>[-M user_list][-N name] [-o path] [-p priority] [-q destination]
>[-r c][-S path_list] [-u user_list][-v variable_list] [-V]
>[-W additional_attributes] [-z]
>[script]qstat —— 用于查询作业状态信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
>命令格式:
>qstat [-f][-a][-i][-n][-s][-R][-Q][-q][-B][-u]
>参数说明:
>-f jobID 列出指定作业的信息
>-a 列出系统所有作业
>-i 列出不在运行的作业
>-n 列出分配给此作业的结点
>-s 列出队列管理员不scheduler 所提供的建议
>-R 列出磁盘预留信息
>-Q 操作符是destination id,指明请求的是队列状态
>-q 列出队列状态,并以alternative 形式显示
>-au userid 列出指定用户的所有作业
>-B 列出PBS Server 信息
>-r 列出所有正在运行的作业
>-Qf queue 列出指定队列的信息
>-u 若操作符为作业号,则列出其状态。若操作符为destination id,
>则列出运行在其上的属于user_list 中用户的作业状态qdel —— 用于删除已提交的作业
1
2
3
4
5
>命令格式:
>qdel [-W 间隔时间] 作业号
>命令行参数:
>qdel -p 强制清除某个作业号,一般不建议使用
>例:# qdel -W 10 555 10秒后删除作业号为555的作业qhold & qrls —— 作业挂起 & 作业释放
1
>qhold&qrls jobID
PBS脚本文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
PBS作业脚本选项 (若无-C选项,则每项前面加 '#PBS')
-a date_time date_time格式为:[[[[CC]YY]MM]DD]hhmm[.SS]
表示经过date_time时间后作业才可以运行。
-c interval 定义作业的检查点间隔,如果机器不支持检查点,则忽略此选项。
-C directive_prefix 在脚本文件中以directive_prefix开头的行解释为qsub的 命令选项。若无此选项,则默认为 '#PBS'
-e path 将标准错误信息重定向到path
-I 以交互方式运行
-j join 将标准输出信息不标准错误信息合并到一个文件join中
-k keep 定义在执行结点上保留标准输出和标准错误信息中的哪个文件。
keep为o表示保留前者,e表示后者,oe戒eo表示二者都保留,
n表示皆不保留。若忽略此选项,二者都不保留。
-l resource_list 定义资源列表,几个常用的资源种类:
cput=N 请求N秒的CPU时间,也可以是hh:mm:ss的形式。
mem=N[K|M|G][B|W] 请求N {k|m|g}{bytes|words}大小的内存。
nodes=N:ppn=M 请求N个结点,每个结点M个处理器。
-m mail_option mail_option为a:作业abort时给用户发信
为b:作业开始运行发信
为e:作业结束运行时发信
若无此选项,默认为a。
-M user_list 定义有关此作业的mail发给哪些用户
-N name 作业名,限15个字符,首字符为字母,无空格。
-o path 重定向标准输出到path
-p priority 任务优先级,整数,[-1024,1023],若无定义则为0
-q destination destination有三种形式:
queue;
@server;
queue@server
-r y|n 指明作业是否可运行,y为可运行,n为不可运行。
-S shell 指明执行运行脚本所用的shell,须包含全路径。
-u user_list 定义作业将在运行结点上以哪个用户名来运行。
-v variable_list 定义export到本作业的环境变量的扩展列表。
-V 表明qsub命令的所有环境变量都export到此作业。
-W additional_attributes 作业的其它属性
-z 指明qsub命令提交作业后,不在终端显示作业号。例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
a)
#PBS -N D10
#PBS -o log/D10.out
#PBS -e log/D10.err
#PBS -q old
#PBS -l nodes=5:ppn=4
#PBS -r y
cd /newlustre/home/liaolanjie/yc/12_01_ecard
sh gatk.js D10
b)
#PBS -N test_GAPE2
#PBS -o /newlustre/home/zhangmao511/workdir/jar_second/jar/my.out
#PBS -e /newlustre/home/zhangmao511/workdir/jar_second/jar/my.err
#PBS -q fat
#PBS -l nodes=1:ppn=10
#PBS -r y
cd /newlustre/home/zhangmao511/workdir/jar_second/jar
java -jar /newlustre/home/zhangmao511/workdir/jar_second/jar/GAPE_fat_zebrafish_Liunx_Beta_V2.jar -c /newlustre/home/zhangmao511/workdir/jar_second/jar/zebrafish_parameters.txt
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!