一、简介
bsub命令是一个在Unix、Linux或其他类Unix系统中使用的命令行工具。通过bsub命令,用户可以在后台运行一个作业(也称为进程)。此外,bsub还允许用户指定作业在哪个计算节点上运行、需要的资源、输出信息以及错误信息的文件等。
二、bsub命令使用
关于bsub命令的使用说明,我们可以分为以下几个方面来阐述。
1、运行在哪个计算节点上
用户可以使用bsub命令手动指定需要运行作业的计算节点。例如:
bsub -m "node001"
这里的“node001”就是需要运行作业的计算节点。
2、资源需求
bsub命令还可以指定作业运行所需要的资源,例如:
bsub -R "rusage[mem=1024]" command
这里通过-R子命令来告知bsub需要多少内存。
3、输出信息和错误信息
通过bsub命令指定作业输出信息和错误信息的文件更为简单,例如:
bsub -oo output.log -eo error.log command
这里的-oo和-eo分别代表输出信息和错误信息,后面跟的是对应的文件名。
三、bsub与bash的区别
相信大家使用过Linux系统中的bash命令行,那么bsub命令与bash命令有何不同呢?
1、environment的变化
使用bsub命令启动的进程,其environment将与当前的shell不同。因此类似alias这样的function就会失效。此外,由于environment的改变,用户所在的PWD(即当前工作目录)也会随之改变。
2、IO的不同
在bash中,用户可以使用text redirection来将程序的输出信息存储在文件中或者在屏幕上显示,例如:
command > output.txt command | more
而在bsub命令中,用户需要使用bsub命令提供的R和oo选项,手动指定输出信息的文件。
3、作业的交互性
通过bsub命令运行的作业也缺乏交互性。在bash中,用户可以随时终止正在运行的程序,或者在程序停止后输入额外的命令等。而在bsub命令中,用户所能做的仅仅是将作业提交给计算节点,而计算节点会在资源充足时开始运行作业。
四、常用的bsub命令选项
如果用户希望更进一步地掌握bsub命令,需要学习的是如何在不同的使用场景中使用bsub命令中的不同选项。以下是一些常用的bsub命令选项。
1、-n
-n选项指定使用的CPU数量,例如:
bsub -n 4 command
2、-q
-q选项指定作业提交给哪个queue来运行:
bsub -q queueName command
3、-J
-J选项指定作业的名字,可以用于区分不同的作业:
bsub -J myJobName command
4、-W
-W选项用于设定作业的开始时间:
bsub -W 12:00 command
5、-K
-K选项在作业提交后立即执行,并发送一个标准输入提示符:
bsub -K command
五、总结
本文通过对bsub命令的全面解析,详细讲述了bsub在Unix系统、Linux系统等类Unix系统中的使用,包括资源需求、计算节点使用、输出和错误信息、作业的交互性等方面的使用方法。同时,我们还指出了bsub命令与bash命令的区别,并对常用的bsub命令选项进行了讲解。