LSF作业管理系统使用方法
查看LSF计算节点列表bhosts
# bhosts
HOST_NAME STATUS JL/U MAX NJOBS RUN SSUSP USUSP RSV
fat01 ok - 16 0 0 0 0 0
fat02 ok - 16 0 0 0 0 0
fat03 ok - 16 0 0 0 0 0
fat04 ok - 16 0 0 0 0 0
fat05 ok - 16 0 0 0 0 0
fat06 ok - 16 0 0 0 0 0
fat07 ok - 16 0 0 0 0 0
fat08 ok - 16 0 0 0 0 0
fat09 ok - 16 0 0 0 0 0
fat10 ok - 16 0 0 0 0 0
......
查看LSF队列bqueues
查看所有队列的整体信息:
# bqueues
QUEUE_NAME PRIO STATUS MAX JL/U JL/P JL/H NJOBS PEND RUN SUSP
cpu 40 Open:Active - - - - 2072 0 2072 0
fat 40 Open:Active - - - - 0 0 0 0
gpu 40 Open:Active - - - - 288 0 288 0
mic 40 Open:Active - - - - 0 0 0 0
cpu-fat 40 Open:Active - - - - 16 0 16 0
查看某个队列的信息:
# bqueues fat
QUEUE_NAME PRIO STATUS MAX JL/U JL/P JL/H NJOBS PEND RUN SUSP
fat 40 Open:Active - - - - 0 0 0 0
查看计算节点负载lsload
查看整体负载:
# lsload
HOST_NAME status r15s r1m r15m ut pg ls it tmp swp mem
node011 ok 0.0 0.3 0.4 0% 0.0 0 49024 193G 62G 61G
node039 ok 0.0 0.6 0.5 0% 0.0 0 49024 194G 62G 61G
node041 ok 0.0 0.0 0.0 0% 0.0 0 49024 194G 62G 61G
node050 ok 0.0 0.0 0.0 0% 0.0 0 49024 194G 62G 60G
node064 ok 0.0 0.7 0.6 0% 0.0 0 49024 194G 62G 61G
node077 ok 0.0 0.7 0.5 0% 0.0 0 49024 194G 62G 61G
.....
查看某个节点的负载:
# lsload node001
HOST_NAME status r15s r1m r15m ut pg ls it tmp swp mem
node001 ok 0.3 0.1 0.1 1% 0.0 0 332 152G 62G 61G
使用LSF提交作业bsub
手动提交作业
LSF使用bsub提交作业。bsub命令的格式是:
bsub -n Z -q QUEUENAME -i INPUTFILE -o OUTPUTFILE COMMAND
其中:Z提交作业需要的线程数,-q指定作业提交的队列。如果不添加-q选项,系统将把作业提交到默认的作业队列。 INPUTFILE表示程序需要读入的文件名,OUTPUTFILE表示输出文件名,作业提交后的输出到标准输出信息将会保存在这个文件中。
对于串行作业,COMMAND可以直接使用您的程序名。 例如,将串行程序mytest的通过LSF提交:
bsub -n 1 -q q_default -o mytest.out ./mytest
对于MPI并行作业,COMMAND的格式为-a mpich_gm mpirun.lsf PROG_NAME。 例如,将并行程序mytest,通过LSF提交,使用16个线程运行这个作业:
bsub -n 16 -q q_default -o mytest.out -a mpich_gm mpirun.lsf ./mytest
交互式批量提交
使用bsub还可以启动一个交互式的shell环境,一次提交多个运行参数相同的并行作业。例如下面的操作:
# bsub
bsub> -n 16
bsub> -q q_default
bsub> -o output.txt
bsub> COMMAND1
bsub> COMMAND2
bsub> COMMAND3
等价于:
bsub -n 16 -q q_default -o output.txt COMMAND1
bsub -n 16 -q q_default -o output.txt COMMAND2
bsub -n 16 -q q_default -o output.txt COMMAND3
编写LSF作业控制脚本
#BSUB -n 16
#BSUB -q q_default
#BSUB -o output.txt
-a mpich_gm mpirun.lsf ./mytest
bsub还接受来自标准输入的作业说明。 因此,我们可以编写LSF脚本提交作业。 bsub脚本简单易写,上面一段代码是名为bsub.script的完整例子,将bsub.script通过输入重定向,提交给LSF:
bsub < bsub.script
这等价于:
bsub -n 16 -q q_default -o output.txt -a mpich_gm mpirun.lsf ./mytest
一个功能更完整的LSF作业控制脚本
#BSUB -J HELLO_MPI
#BSUB -o job.out
#BSUB -e job.err
#BSUB -n 256
source /lustre/utility/intel/composer_xe_2014.3.163/bin/compilervars.sh intel64
source /lustre/utility/intel/mkl/bin/intel64/mklvars_intel64.sh
source /lustre/utility/intel/impi/4.1.1.036/bin64/mpivars.sh
MPIRUN=`which mpirun`
EXE="./mpihello"
CURDIR=$PWD
cd $CURDIR
rm -f nodelist nodes >& /dev/null
touch nodelist
touch nodes
NP=0
for host in `echo $LSB_MCPU_HOSTS |sed -e 's/ /:/g'| sed 's/:n/\nn/g'`
do
echo $host >> nodelist
echo $host | cut -d ":" -f1 >> nodes
nn=`echo $host | cut -d ":" -f2`
NP=`echo $NP+$nn | bc`
done
其他作业管理操作
查看作业状态bjobs
检查已提交的作业的运行状态:
bjobs
以宽格式来显示作业运行状态:
bjobs -w
显示所有作业:
bjobs -a
显示正在运行的作业:
bjobs -r
显示等待运行(pending)的作业和等待的原因:
bjobs -p
显示已经挂起(suspending)的作业和挂起的原因:
bjobs -s
显示JOBID这个作业的所有信息:
bjobs -l JOBID
终止作业bkill
终止不需要的作业:
bkill
终止JOBID这个作业:
bkill JOBID
直接将作业JOBID从LSF中移除,而不等待该作业的进程在操作系统中终结:
bikill JOBID
监视作业输出bpeek
当作业正在运行时,显示它的标准输出,监视作业运行:
bpeek
查看JOBID的标准输出:
bpeek JOBID
作业历史信息bhist
显示作业的历史情况:
bhist
显示JOBID作业的历史情况:
bhist JOBID
LSF作业管理系统使用方法的更多相关文章
- ThinkPHP5作业管理系统中处理学生未交作业与已交作业信息
在作业管理系统中,学生登陆到个人中心后可以通过左侧的菜单查看自己已经提交的作业和未提交作业.那么在系统中如何实现这些数据的查询的呢?首先我们需要弄清楚学生(Student).班级(class).作业提 ...
- LSF 作业系统常用命令
LSF(Load Sharing Facility)是一个被广泛使用的作业管理系统,具有高吞吐.配置灵活的优点.通过 LSF 集中监控和调度,可以充分利用计算机的CPU.内存.磁盘等资源. bqueu ...
- Python极其简单的分布式异步作业管理系统RQ入门
Python极其简单的分布式异步作业管理系统RQ入门 原创 2017-08-19 lixing 生信人 Python极其简单的分布式异步作业管理系统RQ入门 1. 什么是Job? Job直译过来就是工 ...
- 【软件工程】week5-个人作业-敏捷开发方法初窥
敏捷开发方法初窥 引言:本周的软件工程个人博客作业是阅读关于敏捷开发方法的文章(http://martinfowler.com/agile.html),并撰写自己的读后感.文章内容非常丰富,对敏捷开发 ...
- GaussDB(DWS)应用实践丨负载管理与作业排队处理方法
摘要:本文用来总结一些GaussDB(DWS)在实际应用过程中,可能出现的各种作业排队的情况,以及出现排队时,我们应该怎么去判断是否正常,调整一些参数,让资源分配与负载管理更符合当前的业务:或者在作业 ...
- Asp.Net WebService 使用后来管理系统对接口方法进行公开控制
思路: 1.需要找一个访问Webservice的统一入口,刚开始进入了一个误区,以为WebService是单独的运行程序,后来经朋友提醒,其实它也是通过http请求在asp.net framework ...
- 第四次作业 重写equals方法
使用上几次用到得User实体类,在其中重写equals方法. @Override public boolean equals(Object obj) { if(obj==null)return fal ...
- 运输问题中产销不平衡问题(表上作业法和LINGO方法)
对于产销不平衡问题有两种情况: 供大于求(产大于销)→增加虚拟销地 供不应求(产小于销)→增加虚拟产地 例如以下例题: 这个题中,总产量为55,总销量为60,故而我们知道这个问题属于供不应求. 1.这 ...
- 需要完成PAT作业和微博作业的具体方法
http://www.cnblogs.com/c-programing-language/p/6703508.html
随机推荐
- 从 C#编写的Exe里面提取图标和图片
记得原来是可以通过PE直接提取Exe里面的图片的,不知道为什么不能用了,下面是通过加载程序集反射出Resources 里面的图片或者图标: 提取结果直接存放到编译目录了,不知道向左向右,自己又回到Wi ...
- window.history,页面中的返回按钮
一.页面中的返回按钮事件 window.history可以不加window这个前缀 他的方法有: window.history.go(-1); //-n表示后退n页,n表示前进n页,或者是一个url ...
- C#把大写英文变成小写英文,把小写英文变成大写英文
static void Main(string[] args) { string s; // 声明一个变量,来接受用户输入的值. Console.WriteLine("请输入一个字符串:& ...
- 关于asp.net假分页的删除操作的随笔
作为一个新人,上周负责优化一个后台管理系统,遇到一个问题:点击删除按钮之后,页面又回到了第一页. 而我需要达到的效果是:点击了删除按钮之后,原来是那一页,删除后还是在那一页. 由于项目是已经验收了的, ...
- js/jq和a标签(刷新/ajax/对话框/循环/select选中/checkbox选中/id的获取//数据处理成钱的格式)//js/jq分页
1.刷新 <a href="javascript:history.go(-1)">返回上一页</a><a href="javascript: ...
- 设计模式入门,工厂模式,c++代码实现
// test04.cpp : Defines the entry point for the console application.////设计模式第4章 工厂模式#include "s ...
- java IO流实现删除文件夹以及文件夹中的内容
这篇主要是对IO文件流对文件常用处理中的删除文件夹,平时我们直接删除文件夹既可以删除里面的全部内容. 但是java在实现删除时,只能是文件才会被删除. 所以这里需要定义一个方法,来递归调用方法(递归调 ...
- after() 和 remove() 实现替换
<div class="replacedDiv">this is the replaced div</div> <script> ...
- poj 1679 The Unique MST (判定最小生成树是否唯一)
题目链接:http://poj.org/problem?id=1679 The Unique MST Time Limit: 1000MS Memory Limit: 10000K Total S ...
- IE8下的怪异模式
使用DWZ框架,老是出现点击button后在winxp IE8下出现新页面,经过检查后发现IE8下submit后,return false就不行了,必须使用window.event.returnVal ...