OpenLava极简用户教程

OpenLava

OpenLava源于IBMLSF(两者命令和用法基本相同),是一个免费、开源的工作负载调度程序,支持HPC(高性能计算),是IC应用环境下主流的任务分发和调度工具.

Openlava命令:

  • bsub:提交任务
    • bsub -q [queue name] : 指定队列,如果不指定,则任务会提交到默认队列(一般是normal
    • bsub -m [node name] : 指定节点,任务将会被提交到指定的节点上运行(需要确保机器在当前队列中)
    • bsub -Is : 投递任务的时候用shell模式启动一个终端,并将任务投递到上面以交互式运行.这种模式一般用于启动带图形界面的工具,启动需要交互式的工具,将标准输出打印到当前窗口,或者为了阻塞式运行任务(任务运行期间bsub不退出)
    • bsub -o [fileName] : 保存任务的标准输出到指定的文件
    • bsub -e [fileName] : 保存任务的标准错误到指定的文件
    • bsub -n [number] : 指定为当前任务保留多少cpu处理器
    • bsub -R [resourceString] : 指定为当前任务的资源需求
  •  bjobs:查看任务状态和基本信息
    • bjobs : 查看当前用户所有的未完成job
    • bjobs -a : 查看当前用户在一段时间内所有的job,包括已完成和未完成的job
    • bjobs -UF [jobId] : 查看指定job的详细信息
  • bkill:kill未完成的任务
    • bkill 0 : 杀死当前用户所有的job
    • bkill [-r] jobId : 强制杀死指定的job
  • bqueues:查看队列信息
    • bqueues : 查看所有队列的job状态
  • bhosts:查看机器状态及基本信息
    • bhosts : 查看所有机器的job状态
  • busers:查看用户任务
    • busers -all : 查看用户任务
  • lsload:查看节点负载状态
    • lsload : 查看所有机器的负载状况

扩展知识

1. 从队列详细信息我们能够到什么

MAX : 队列的理论最大slots可用数目,此队列最多可以占用60 slots

JL/U : 队列个人slots限制,每个人在这个队列中最多可以占用5 slots

NJOBS/PEND/RUN/SSUSP/USUSP/RSV : 当前队列上的作业情况

RUNLIMIT : 队列的运行时间限制,10080 min7天,队列上的任务运行时间达到7天会被kill

USERS : 哪些用户或者用户组可以使用这个队列

HOSTS : 哪些机器或者机器组在这个队列中

 

2. 从任务详细信息中我们可以得到什么

对于RUN/DONE/EXIT状态的job,我们可以从job的详细信息中获取:

任务的分发参数,包括Project, Queue, Command, Processors Requested, Requested Resources

机器信息,包括投递机器(Submitted from)和执行机器(Dispatched to

时间信息,包括投递时间和执行时间

用户信息(User

目录信息(CWD

有些job还可以看到资源用量信息,包括CPU time, MEM, SWAP

 

对于PEND状态的job我们则可以额外获取PENDING REASONS”这一重要信息

Openlava的用户经常有这种困惑,为什么我的job投递出去,但是总是PEND的状态跑不起来?一般而言常见的PEND原因无非以下几种:

Limits on the number of job slots that are configured for a queue, a host, or a user

运行job的数目达到了queue设置的上限
AvAIlability of the specified resources

没有机器满足指定的资源条件
Job dependency and pre-execution conditions

Job的依赖关系不被满足

Relative priority to other users and jobs

优先级低

Start time that is specified by the user when the job is submitted

用户指定了job开始时间(开始时间之前都是PEND的状态)
Load conditions on qualified hosts

不满足机器上的载入条件
Dispatch windows during which the queue can dispatch and qualified hosts can accept jobs

queue设置了调度时间窗口,调度窗口之内job都是PEND的状态
Run windows during which jobs from the queue can run

queue设置了运行时间窗口,时间窗口之外job都是PEND的状态


问题汇总

  • bkill 后作业有残留进程
    • 开源软件弱点,只能手动杀掉
      killall  process_name
      or
      pkill process_name

       

posted @ 2021-06-27 10:25  scandit  阅读(3022)  评论(0编辑  收藏  举报