LSF---【bsub命令】
作者:互联网
LSF--[bsub命令]
摘要
资源管理器:管理超算系统的硬件资源及认证信息等
队列管理器:管理当前已经提交但还未完成的作业
调度器:为作业分配资源
主要作用:根据用户作业提出的需求分配对应的资源给作业,告诉作业给它分配哪些节点等避免作业之间无序干扰,尽量让整个系统的负载一致保证用户占用资源的长期内公平
一、bsub命令
bsub [options] command [argument]
1.1 命令参数
-q 选择队列
-i 指定输入文件
-o 指定输出文件,作业提交后标准输出的信息会保存到这个文件中
-e 指定输出文件,作业提交后标准错误输出的信息保存到这个文件夹中.
-n 指定作业需要的CPU 核
-J 作业的名字
-m 丢job到指定的机器上
-I 交互式模式,此时终端不能输入
-Ip 提交job的时候提供虚拟terminal支持,如vim这种应用是需要terminal支持的.
bsub -Ip -q long -l -R rusage[mem=70000] -m "ServerA ServerB" -J job00
二、常用查看命令
2.1 bhosts
利用bhosts命令可查看当前各节点的空闲情况
xx@ServerA# bhosts
HOST_NAME STATUS JL/U MAX NJOBS RUN SSUSP USUSP RSV
c01n01 closed − 4 2 2 0 0 0
c02n03 ok − 2 2 1 0 0 0
STATUS:
ok: 表示可以接收新作业,只有这种状态可以接受新作业
closed: 表示已被作业占满,不接受新作业
unavail和unreach: 系统停机或作业调度系统服务有问题
查看c01n01节点: bhosts c01n01
查看groupCHEM节点组:bhosts groupCHEM
bhosts −l 会显示节点详细信息,其中slots表示目前最大可以接受作业槽数(默认一般与CPU核数一致)
2.2 bqueues
利用bqueues可以查看现有队列信息,例如:bqueues
QUEUE_NAME | 队列名 |
---|---|
PRIO | 优先级,数字越大优先级越高 |
STATUS | 状态 |
Open | 队列开放,可以接受提交新作业 |
Active | 队列已激活,队列中未开始运行的作业可以开始运行 |
Closed | 队列已关闭,不接受提交新作业 |
Inact | 队列未激活,可接受提交新作业,但队列中的等待运行的作业不会开始运行 |
JL/U | 单个用户同时可以使用的CPU核数 |
MAX | 队列对应的最大作业槽数(Job Slot,一般与CPU核数一致,以下通称CPU核数),-表示无限 |
JL/P | 每个处理器可以接受的CPU核数 |
JL/H | 每个节点可以接受的CPU核数 |
NJOBS | 排队、运行和被挂起的总作业所占CPU核数 |
PEND | 排队中的作业所需CPU核数 |
RUN | 运行中的作业所占CPU核数 |
SUSP | 被挂起的作业所占CPU核数 |
RSV | 为排队作业预留的CPU核数 |
[ServerA@hmli] bqueues
QUEUE_NAME PRIO STATUS MAX JL/U JL/P JL/H NJOBS PEND RUN SUSP
nc 30 Open : Active − − − − 0 0 0 0
chem 30 Open : Active − − − − 224 0 224 0
math 30 Open : Active − − − − 272 80 192 0
other 30 Open : Active − − − − 0 0 0 0
phy_long 30 Open : Active − − − − 720 224 496 0
phy_7days 30 Open : Active − − − − 1056 240 816 0
phy_1day 30 Open : Active − − − − 0 0 0 0
2.3 bjobs
利用bjobs可以查看作业的运行情况
[ServerA@hmli] bjobs
OBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME
79726 hmli RUN other login 2*c01n02 *executab1 Mar 12 1 9:20
1*c01n04
79727 hmli PEND phy_1day login *executab2 Mar 12 1 9:20
显示:
作业79726分别在c01n02和c01n04上运行2、1个进程
作业79727处于排队中尚未运行
查看作业的详细信息−l选项:
bjobs −l 79727
2.4 bkill
利用 bkill 命令可以终止某个运行中或排队中的作业,如:
[ServerA@hmli] bkill 79726
Job <79722 > is being terminated
2.5 bhist
bhist -a : 查看已经运行完毕的作业信息
2.6 busers
利用busers可以查看用户信息
[ServerA@hmli] busers hmli
USER/GROUP JL/P MAX NJOBS PEND RUN SSUSP USUSP RSV
hmli − 22 40 32 8 0 0 0
MAX: 最大可以同时运行的核数
NJOBS: 当前所有运行和待运行作业所需的核数
PEND: 排队等待运行的作业所需要的核数
RUN: 已经开始运行的作业占据的核数
三、提交作业
1.通过busb命令,将该a.out可执行文件,提交2次作业。
-J参数,执行作业的名字。
-o参数指定lsf执行该可执行文件的输出,保存到指定文件。
bsub -J 'ISE' -o /home/hmli/lsf/lsf.result ./hello.out
bsub -J 'ISE' -o /home/hmli/lsf/lsf.result ./hello.out
bsub -I -w "ended(ISE)" echo "hello.out has been finished"
2.最后要等待这些作业完成,通过以下bsub命令。提交一个作业,只是打印信息:
bsub –I –w “ended(ISE)” echo “hello.out has been finished”
-I 参数,表示和终端交互,后续提交的任务要等这个任务完成后,才可以提交
-w ”ended…” 指定该作业要等作业名中有aaaaaaaa的作业都完成后,才可以提交。
[ServerA@hmli] bsub -J 'ISE' -o /home/hmli/lsf/lsf.result ./hello.out
Job<691120> is submitted to defult queue <normal>.
[ServerA@hmli] bsub -J 'ISE' -o /home/hmli/lsf/lsf.result ./hello.out
Job<691121> is submitted to defult queue <normal>.
[ServerA@hmli] bsub -I -w "ended(ISE)" echo "hello.out has been finished"
Job<691122> is submitted to defult queue <interactive>.
<<Waiting for dispatch ...>>
<<Starting on ISE_Demo>>
hello.out has been finished
标签:LSF,lsf,作业,---,hmli,bsub,核数,CPU 来源: https://blog.csdn.net/sinat_43629962/article/details/122436308