LSF---【bsub命令】
LSF--[bsub命令]
- 摘要
- 一、bsub命令
- 1.1 命令参数
- 二、常用查看命令
- 2.1 bhosts
- 2.2 bqueues
- 2.3 bjobs
- 2.4 bkill
- 2.5 bhist
- 2.6 busers
- 三、提交作业
摘要
资源管理器:管理超算系统的硬件资源及认证信息等
队列管理器:管理当前已经提交但还未完成的作业
调度器:为作业分配资源
主要作用:根据用户作业提出的需求分配对应的资源给作业,告诉作业给它分配哪些节点等避免作业之间无序干扰,尽量让整个系统的负载一致保证用户占用资源的长期内公平
一、bsub命令
bsub
[options] command [argument]
1.1 命令参数
-q 选择队列
-i 指定输入文件
-o 指定输出文件,作业提交后标准输出的信息会保存到这个文件中
-e 指定输出文件,作业提交后标准错误输出的信息保存到这个文件夹中.
-n 指定作业需要的CPU 核
-J 作业的名字
-m 丢job到指定的机器上
-I 交互式模式,此时终端不能输入
-Ip 提交job的时候提供虚拟terminal支持,如vim这种应用是需要terminal支持的.
-R 指定为当前任务的资源需求。
示例:任务需要10G内存
bsub -Ip -q long -l -R rusage[mem=10240] -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: 系统停机或作业调度系统服务有问题
bhosts c01n01
查看c01n01节点
bhosts groupCHEM
查看groupCHEM节点组
bhosts < queue name>
查看当前队列运行情况:
xx@ServerA# bhosts ww_xx
JOBID USER STAT FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME
234407 angel RUN szll01 lab04 *_proj.tgz Apr 21 10:17
234411 angel RUN szll01 lab02 *_run.tcl Apr 21 11:20
....
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
可以查看作业的运行情况,bjobs | wc
统计总的job数。
[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:201*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---【bsub命令】相关推荐
- lsf基础命令bsublmstatbjobs
1.bsub source cshrc.lsf groups:显示当前用户组信息 bqueues:查询所有的队列 mylsfhosts:查询当前用户可用的queues_name及所有的hosts节点 ...
- bsub linux提交 sh,批量提交Bsub命令
1. 创建脚本如 a.sh,内容: #!/bin/bash for ((i=1; i<=58; i++)) do bsub -q serial -e temp$i.err -o temp$i.l ...
- $LSB_SUB_PARM_FILE
$LSB_SUB_PARM_FILE是一个环境变量,用于指定包含作业提交所需参数的文件路径.这个文件通常由作业脚本生成,并在作业提交命令中使用该变量将此文件与作业一起提交给集群管理器. $LSB_SU ...
- Lumerical Python API学习(七)——可视化几何
Optimizable Geometry - Python API 来自 https://support.lumerical.com/hc/en-us/articles/360052044913-Op ...
- HPUX 系统安全MC
安装所需的介质和资料: HP-UX 11.0 Core OS Install/Update/Recovery光盘(1张) HP-UX 11.0 Support Plus光盘(1张) HP-UX 11. ...
- linux中ls-f的用法,ls命令--Linux命令应用大词典729个命令解读
内容来源于人民邮电出版社<Linux命令应用大词典> 讲述729个命令,1935个例子 学习Linux系统的参考书.案头书,遇到不懂的命令或命令选项一查即可 争取每天都发布内容 本文出自 ...
- LSF - 提交GUI应用到LSF无法运行,报错Failed to connect to socket /tmp/dbus-xxxxxxxxx: Connection refused
问题描述 提交GUI应用到LSF无法运行,如下所示 问题分析 这种GUI应用,不能以交互式的方式提交.提交命令换成bsub firefox即可.
- Linux安全基础:shell及一些基础命令
1.什么是shell? Shell是用户和Linux操作系统之间的接口. Linux中有多种shell,其中缺省使用的是Bash. 2.shell的分类 (1)bash bash shell 是 Bo ...
- windbg 常用命令详解
一. 1. !address eax 查看对应内存页的属性 2. vertarget 显示当前进程的大致信息 3 !peb 显示process Environment Block 4. lmvm ...
最新文章
- 安防行业成巨头必争之地 一文梳理安防AI芯片产品与主要企业
- Python ImportError: No module named 'requests'解决方法
- 【Python基础】Python初学者必须吃透这69个内置函数!
- 网页背景平铺_在大约十秒钟内为网页创建无缝平铺背景
- 如何真正做好项目管理?
- oracle 服务名丢失,win2003 oracle服务丢失后恢复的一个例子
- 【免费下载】2021年6月份热门报告盘点
- SQL Server补丁版本的检查
- tarjan 割点 割边
- Java clone克隆方法 --深拷贝--浅拷贝 --原型模型
- 用python加载obj格式三维模型(加mtl贴图)
- 化学实用计算机技能,实用化学化工计算机软件基础
- 国内首款PCB资料分析软件,华秋DFM使用介绍
- Science子刊: 类配对分析法揭示孤独症患者肠道菌群解毒功能受损
- XCTF---MISC---来自银河的信号
- 京东、天猫等电商平台产品评价
- 在网络上共享条码打印机
- 微型计算机选择题题库,微机选择题题库
- 地铁出行规划项目分析
- 改变命运的21个黄金法则
热门文章
- 【音乐入门】写给理工科人看的乐理(三)五线谱进阶与和声理论
- 机构视角筛选底部平台突破股票
- 分布式技术与实战第一课 分布式理论与一致性算法
- 数学建模论文写作学习——数模论文概述
- mysql 基础选择题_MySQL基础之练习题
- linux查看历史开机时间,查看linux系统的开机时间/重启历史记录
- php 表格模板,怎么制作excel表格模板
- Diffusion Models专栏文章汇总:入门与实战
- android声音播放函数双声道合并,Android音频编辑之音频合成功能
- android apk格式,apk是什么文件格式?.apk文件怎么打开?