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.

====

  1. 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"
  2. 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"
  3. 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"
  4. 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"
  5. 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.

====

  1. 查看jobs 123456 的运行状态,以及job PEND reason and job memory/swqp usage
    bjobs -l 123456
  2. 查看node05运行了那些jobs
    bjos -m node05 -u all
  3. 查看所有的作业信息,无论是那种状态
    bjos -a

====

其他command可参考:IBM Docs

LSF Command相关推荐

  1. linux shell 未找到命令,未找到linux问题setenv命令(linux issue setenv command not found)

    未找到linux问题setenv命令(linux issue setenv command not found) 我在Linux中开发了一个Tcl / Tk脚本工具. 为了运行该工具,每次需要在she ...

  2. mongo报错:not authorized on bb to execute command { create: \“xxx\“...}

    mongo报错: {"ok" : 0,"errmsg" : "not authorized on bb to execute command { cr ...

  3. 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 ...

  4. 解决 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 ...

  5. bash: vue: command not found

    安装vue的时候提示:bash: vue: command not found 我的原因node.js 环境变量配置有问题,最后添加了环境变量就好了..........

  6. -bash: fultter: command not found

    flutter build apk bash: flutter: command not found 在studio中的控制台出现上面错误(如图所示) 解决办法: 安装flutter时,安装时可以执行 ...

  7. jenkins 插件执行shell命令时,提示“Command not found”处理方法

    首先提示找不到"Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具 ...

  8. 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 ...

  9. 在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 ...

  10. xauth: (stdin):1: bad display name LSPPC-Lenny:1 in add command

    启动vnc4server之后出现如下错误提示:LSPPC-Lenny:~# vnc4server xauth: (stdin):1: bad display name "LSPPC-Lenn ...

最新文章

  1. 计算机网络查看路由表命令,如何查看、添加、修改、删除路由器内部的路由表项?...
  2. 第二部分:志愿录取标准
  3. Git 几个重要操作指令对比
  4. Java虚拟机专题之class文件结构(读书笔记)
  5. 《重构-改善既有代码的设计》——读后总结
  6. 解决 PhpStorm 对 用单例模式实例化PHP类时,代码自动提示功能失效 的问题
  7. 数据挖掘与数据化运营实战. 3.9 卖家(买家)交易模型
  8. oracle 调整缓存大小,设置数据缓冲大小_oracle
  9. Android UI学习之ListView(使用ArrayAdapter和SimpleAdapter)
  10. WPF TreeView tools
  11. 联通盒子系统服务器,联通IPTV盒子刷机方法,实现软件任意安装
  12. 交换机SERDES介绍
  13. 计算机教室不安风扇,多媒体教室设备常见故障及解决办法
  14. 注意PHP的下一个千年虫:Y2K38
  15. 云服务器代理平台安装教程
  16. 考研每日加油站(持续更新)
  17. 577. Employee Bonus
  18. css中style怎么用,css中style标签的使用方法
  19. css实现虚线表格样式
  20. AE基础教程第一阶段——16运动模糊,帧混合,三维层

热门文章

  1. wordpress 安装教程
  2. asa 防火墙拦截了https_ASA防火墙设置URL过滤
  3. gitlab 503 错误的解决方案
  4. 安农大计算机专业录取分数线,安徽农业大学+录取分数线
  5. 微信开放平台的使用介绍,配置流程
  6. 如何解决Win10应用商店代码:0x80131500错误
  7. less和css的区别是什么
  8. arm linux游戏手柄(joystick)驱动移植
  9. 寻路机器人单片机程序示例_单片机c语言示例程序
  10. 【职场心灵鸡汤】以多年来拿最佳的心路历程来复盘【如何成为优秀的5%】