LSF Command
Commands
Basic Command |
Usage |
bsub |
Submits a batch job to lsg |
bjobs |
See the status of jobs in the LSF queue |
bkill |
Kill a running job (’bkill 0’ kills all the job one user submits) |
bqueues |
Displays information about queues |
bhosts |
Displays hosts and their job condition. |
lshosts | Display hosts and their resource condition (cpu/memory). |
lsload | Display host and their load condition (cpu/memory). |
For more detailed information, please check “man bsub/bjobs”
bsub
❖ bsub [常用选项]
-app:将指定的 job profile 分配给作业。对于作业数组,其中的每一个作业元素都分配相同的 job profile。job profile 在$LSF_ENVDIR/lsb.apps 和/或$HOME/.Cube/lsb.apps 中定义
-B:当作业被分发并开始执行时,发送邮件
-n:用于提交并行作业,指定该作业所需的 CPU 个数
-o filename:重定向该作业的 stdout,stderr 和资源使用率信息至指定的 output file
-e filename:重定向 stderr 至指定的 error 文件
-i filename:使用指定的文件作为该作业的标准输入文件
-q qname:将该作业提交至指定的队列
-m hname:选取一个或多个主机,或一个主机组。可以使用关键字“all”和“others”
-J jobname:为作业指定一个名称
-L login_shell:用指定的 login shell 初始化执行环境
-n number:指定 job slot 的个数
-I | -Ip | -Is 提交一个批量的交互式作业。在此交互式作业执行完成或终止前,不能提交新的作业。将该作业的标准输出(或标准错误)发送至终端。
主机选取(Selection)- select[selection_string]
MBD 选择最合适的执行主机。主机的选取依据主机选取字符串的值进行。主机选取字符串(select):
❖ 是由一系列的资源名称构建得到的一个逻辑表达式
❖ 指定了能被选择作为候选 execution 主机的 server 主机的特征
❖ 对每个主机都进行评估
❖ 当此表达式的值为“true”时,该主机被选择为候选 execution 主
eg:
bsub -R "select[swp>=300 && mem>500]" job1
提交作业至一个候选主机,要求该主机有至少 300 MB 的可用交换分区和至少 500 MB的可用内存。
资源排序(Ordering)- order[order_string]
用于对候选的 execution 主机根据资源值进行分类排序,使用资源排序字符串(order)实现:
order 资源排序
❖ 第一个指标为主分类指标,第二个指标为次分类指标,依此类推
❖ 主机根据指定的一个或多个指标按照从最好至最坏的顺序进行排序
❖ 当作业级别的和队列级别的该指标分别被定义时,作业级别的优先
❖ 默认的排序字符串为 order[r15s:pg]
eg:
bsub -R "select[type==any && swp>=300 && mem>500] order[mem]" job1
其中 order[mem]表示对候选的 execution 主机按照可用内存值从最高至最低进行排序
资源使用率(Usage)- rusage[rusage_string]
❖ 作业级别的资源要求:bsub -R
❖ 队列级别的资源要求:RES_REQ
集群中 slave 主机上的 Cube daemon 会定期将资源使用率信息上报给 master 主机;master 主机从所有 slave 主机上收集所有资源的使用率信息。 资源使用率字符串(rusage)用于指定 execution 主机上的资源预留。默认情况下,无资源预留。当运行交互式任务时可忽略。当作业级别的和队列级别的 rusage 均被定义时,作业的级别优先。
eg:
bsub -R "select[swap>=300 && mem>500] order[swap:mem] rusage[swap=300,mem=500]" job1
在被选取的主机上,为运行该作业预留 300 MB 的交换分区和 500 MB 的内存
通过rusage[mem=500]预留内存大于jobs使用内存时可避免SUSP情况
资源位置(Locality)- span[span_string]
用于指定并行作业的位置。 支持的选项: ❖ span[hosts=1]:代表分配给该作业的所有处理器必须在同一个 execution 主机上 ❖ span[ptile=n]:代表每个 execution 主机上都要分配给该作业多达 n 个处理器当此字符串(span)在作业级别和队列级别分别被定义时,作业级别的定义优先。
eg:
bsub -n 16 –R "select[ut<0.15] order[ut] span[hosts=1]" parallel_job1
用来完成该作业的所有处理器必须在同一个 execution 主机上。
bsub -n 16 –R "select[ut<0.15] order[ut] span[ptile=2]" parallel_job2
每个 execution 主机上,可以使用 2 个 CPU 来运行该作业,因此至少需要 8 个 execution主机用来完成该作业
Some other examples.
====
- Job need 4 cpu slots, every slot need 100G memory (Total 4*100=400G memory).
任务属于项目test,需要4个cpu核,为每个核预占100G内存(内存默认按照cpu核分配,而不是按照job分配),总体预留400G内存。
bsub -P test -n 4 -R "rusage[mem=100000]" "COMMAND" - Job need 4 cpu slots, and the 4 slots must be on the same host.
任务属于项目test ,需要4个cpu核,且要求4个核在同一台机器上(在设置了“span[hosts=1]”的前提下,机器上总共剩余100G内存任务即可投递成功)
bsub -P test -n 4 -R "span[hosts=1] rusage[mem=100000]" "COMMAND" - Submit job into pd queue, select the hosts who have 500G+ memory, 100G+ swap, 100G+ tmp.
任务属于项目test ,需要投递到pd队列,要求投递的机器剩余内存大于500G,剩余swap大于100G,剩余tmp空间大于100G。(select能够选择当前满足条件的机器,但是不能预占机器上的资源,用rusage预占资源)
bsub -P test -q pd -R "select[mem>=500000 && swap>=100000 && tmp>=100000]" "COMMAND" - Submit job into pd queue, need 8 cpu slots, reserve 100G memory, 100G swap, select the hosts who have 100G+ tmp.
任务属于项目test ,需要投递到pd队列,需要8个cpu核,选择tmp空间大于100G的机器,预占100G内存和100Gswap。
bsub -P test -q pd -n 8 -R "rusage[mem=100000:swap=100000] select[tmp>=100000]" "COMMAND" - Submit job into pd queue, need >8 cpu slots, or sorts by CPU
提交任务需要按照cpu slots来提交任务
bsub -P test -q pd -R "rusage[mem=1024] select[slots>8]" "COMMAND"
or
bsub -P test -q pd -R "rusage[mem=1024] order[slots]" "COMMAND"
说明:
以上资源默认单位为MB
====
bjobs
- PEND 正在排队
- RUN 正在运行
- DONE 正常退出
- EXIT 异常退出
- SSUSP 被系统挂起
- USUSP 被用户自己挂起
❖ bjos [常用选项]
-a:显示所有作业的信息,无论哪种状态(包含已执行完成的作业)
-A:显示作业数组的概况信息
-app profile_name:显示与所指定的 profile 相匹配的作业。其中 profile_name可以以通配符(*)开始或结束,如“*proj123“、“proj*“
-d:显示最近执行完成的作业的信息
-l|-w:以 long 或 wide 格式显示信息
-p:显示 pending 状态的作业的信息
-r:显示 running 状态的作业的信息
-m host_list:显示指定的主机或主机组上的作业的信息
-q queue_name:显示指定队列内的作业的信息
Some examples.
====
- 查看jobs 123456 的运行状态,以及job PEND reason and job memory/swqp usage
bjobs -l 123456 - 查看node05运行了那些jobs
bjos -m node05 -u all - 查看所有的作业信息,无论是那种状态
bjos -a
====
其他command可参考:IBM Docs
LSF Command相关推荐
- linux shell 未找到命令,未找到linux问题setenv命令(linux issue setenv command not found)
未找到linux问题setenv命令(linux issue setenv command not found) 我在Linux中开发了一个Tcl / Tk脚本工具. 为了运行该工具,每次需要在she ...
- mongo报错:not authorized on bb to execute command { create: \“xxx\“...}
mongo报错: {"ok" : 0,"errmsg" : "not authorized on bb to execute command { cr ...
- pip install nmslib 失败 (error: command ‘x86_64-linux-gnu-gcc‘ failed with exit status 1)
1. 问题现象 使用 pip 安装 nmslib 命令时出现如下错误: sudo pip install nmslib ....ERROR: Complete output from command ...
- 解决 win10 pycurl安装出错 Command python setup.py egg_info failed with error code 10 编译安装包 安装万金油...
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/yexiaohhjk/article/d ...
- bash: vue: command not found
安装vue的时候提示:bash: vue: command not found 我的原因node.js 环境变量配置有问题,最后添加了环境变量就好了..........
- -bash: fultter: command not found
flutter build apk bash: flutter: command not found 在studio中的控制台出现上面错误(如图所示) 解决办法: 安装flutter时,安装时可以执行 ...
- jenkins 插件执行shell命令时,提示“Command not found”处理方法
首先提示找不到"Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具 ...
- python mysql gcc_MySQL-python “error: command 'gcc' failed with exit status 1”错误
安装MySQL-python-1.2.3c1出现"error: command 'gcc' failed with exit status 1"错误 具体报错信息如下: _mysq ...
- 在Ubuntu 16.04.6 LTS上安装python3.7和pip3后出现Command '('lsb_release', '-a')' 出错问题的解决方法
在Ubuntu 16.04.6 LTS上安装python3.7和pip3后出现Command '('lsb_release', '-a')' returned non-zero exit status ...
- xauth: (stdin):1: bad display name LSPPC-Lenny:1 in add command
启动vnc4server之后出现如下错误提示:LSPPC-Lenny:~# vnc4server xauth: (stdin):1: bad display name "LSPPC-Lenn ...
最新文章
- 计算机网络查看路由表命令,如何查看、添加、修改、删除路由器内部的路由表项?...
- 第二部分:志愿录取标准
- Git 几个重要操作指令对比
- Java虚拟机专题之class文件结构(读书笔记)
- 《重构-改善既有代码的设计》——读后总结
- 解决 PhpStorm 对 用单例模式实例化PHP类时,代码自动提示功能失效 的问题
- 数据挖掘与数据化运营实战. 3.9 卖家(买家)交易模型
- oracle 调整缓存大小,设置数据缓冲大小_oracle
- Android UI学习之ListView(使用ArrayAdapter和SimpleAdapter)
- WPF TreeView tools
- 联通盒子系统服务器,联通IPTV盒子刷机方法,实现软件任意安装
- 交换机SERDES介绍
- 计算机教室不安风扇,多媒体教室设备常见故障及解决办法
- 注意PHP的下一个千年虫:Y2K38
- 云服务器代理平台安装教程
- 考研每日加油站(持续更新)
- 577. Employee Bonus
- css中style怎么用,css中style标签的使用方法
- css实现虚线表格样式
- AE基础教程第一阶段——16运动模糊,帧混合,三维层