bsub -R “rusage [mem=40960]” -Is -XF
执行脚本的方法
bsub <run
几条有用的命令
bqueues
查询所有queue的状态
4. 常用命令之bhosts
显示各节点作业相关情况
bhosts hostname
- 常用命令之bjobs
查看提交作业运行情况;
bjobs –r 显示正在运行的作业
bjobs –a 显示正在运行的和最近完成的作业
bjobs -p 显示等待运行的作业和等待原因
bjobs –s 显示正在挂起的作业和挂起的原因
bjobs -l 显示该作业的所有信息
6. bkill
删除不需要的作业
bkill jobid 终止指定的作业;
bkill –r jobid
6.1 批量bkill任务
例:bkill所有PSUSP状态的任务
6.1.1 单个用户:(bkill -u username 0,删除该用户下所有提交的并行任务)
bjobs -u username | grep PSUSP|awk ‘{print $1}’ |xargs bkill
6.1.2 所有用户:bjobs -u all -p -q normal | grep PSUSP|awk ‘{print $1}’ |xargs bkill(-p参数,可有可无,不影响命令执行结果)
PS:常用LSF命令(更详细命令使用可参考LSF的PDF手册)
- bpeek -f 作业号
查看任务日志,显示处于运行时作业的标准输出和标准错误输出信息;
- bhist
显示最近完成作业或正在运行作业的历史情况
bhist jobid
查看作业历史;
-
lsload
显示节点当前负载; -
运行脚本文件
bsub < run_sim.bsub
-q 选择队列
-i 指定输入文件
-I 交互模式,此时终端不能输入
-o 指定输出文件,作业提交后标准输出的信息会保存到这个文件中。
-e 指定输出文件,作业提交后标准错误输出的信息会保存到这个文件中。
-n 指定作业需要的CPU核
-J 作业的名字
-w ‘dependecy_expression’ , 提交作业前,指定操作。
操作有: done
ended, 如 –e “ended(aaaa*)” , 表示作业名中有aaaa的作业,完成之后才可以提交作业
exit
-W 限定作业运行时间
-K 提交作业,并且等待作业完成。当提交作业后,终端打印“waiting for dispath”。当作业完成后,终端打印“job is finished”。作业没有完成,不能提交新的作业。
下面说说我的使用方法
bsub -R “rusage [mem=40960]” -Is -XF
-R "rusage [mem=40960]"表示使用多大内存
4.0版本可以在 V N C、E T X等远程工具中通过"xhost +",“bsub -Is” 启动图形化工具,6.0版本添加了 bsub -XF 图形化交互式功能,丰富了需要使用图形化交互式的场景。
如果不用图形化交互的话,那么就不要用-Is -XF了。
参考网页
https://www.eet-china.com/mp/a223224.html
-q 选择作业提交的队列queue-i 指定输入文件 -I 交互模式,此时终端不能输入-J 指定作业名称-n 指定作业需要的CPU核心数,LSF中一般称之为slot-R span[hosts=1] 指定作业只能在单个节点运行,不能跨节点(跨节点作业需要MPI支持,生物中比较少),-R 可以使得作业在需要满足某种条件的节点上运行-o 作业标准输出,%J为作业ID,即此处的作业输出文件为 jobid.out-e 作业错误输出,%J为作业ID,即此处的作业输出文件为 jobid.err-M 内存控制参数,作业占用的内存超过其指定值时,作业会被系统杀掉。如 -M 20GB -R “rusage[mem=20GB]” 申请20GB的内存,且其内存使用量不能超过20G;-m 指定作业运行节点;-W hh:mm 设置作业运行时间;-w 作业依赖,方便写流程,如-w “done(JobA)”,作业名为JobA的作业完成之后,该作业才开始运行;-K 提交作业并等待作业结束,在写流程时会用得上,可以见后面的例子-P 指定project name,如果我们需要统计某个项目消耗的计算资源,如CPU时等,可以将相关的作业都指定为同一个project name,然后根据project name统计资源消耗;-r rerun选项,即作业失败后自动重新运行,提交大量作业时此选项比较有用;
example:/tools/xxx/xxx/bsub -q normal -P AnIP -K -C 0上面-q 后面跟queue的名字;-P后面跟project名字;