OpenLava极简用户教程

OpenLava

OpenLava源于IBM的LSF(两者命令和用法基本相同),是一个免费、开源的工作负载调度程序,支持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 min即7天,队列上的任务运行时间达到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  Deven_xu  阅读(4031)  评论(0)    收藏  举报