LSF - bsub提交的任务关掉了,bjob查看job还在RUN?

Posted 王万林 Ben

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LSF - bsub提交的任务关掉了,bjob查看job还在RUN?相关的知识,希望对你有一定的参考价值。

LSF - bsub提交的任务关掉了,bjob查看job还在RUN?



前言

HPC环境下,使用打开cgroup的LSF集群,经常会出现这样的情况:bsub提交了一个gnome-terminal,用完之后将gnome-terminal关掉了,这个job还在运行。

通过bjobs -l <JOB ID>查看到执行机,然后登陆上去看,发现有dbus-luanchdbus-daemon两个进程在运行。正因为这两个进程还在运行,导致LSF判断job还在运行。


一、原因

有些应用,像GUI应用,在后台会留下子进程。这样的LSF job会保持RUN状态,就算是将该应用关掉。
原因是在打开了cgroupsLSF,它会等待每一个进程完成后,才判定jobDONE状态。

二、解决方法

解决这个问题,在执行机需要打开cgred,通过适当的配置将残余的进程移到其它子组(sub-group),如此LSF就不会认为它是job的一部分,这样用户的任务结束job就能正常显示Done

步骤1:增加组

配置一个永久组,我们叫它leftprocess

sudo vim /etc/cgconfig.conf
group leftprocess {
cpuacct {}
memory {}
freezer {}
cpuset {}
}

步骤2:配置cgred

修改配置文件,使cgred将残余进程移到子组(dub-group)。(在这里我假设残余进程是dbus-daemon

sudo vim /etc/cgrules.conf

*:dbus freezer,memory,cpuacct leftprocess/

步骤3:重启

重启cgroup与cgred以让配置生效。

sudo sysemctl restart cgconfig

sudo systemctl restart cgred

三、支持平台

在这里插入图片描述


总结

以上就是在打开cgroups的LSF集群中,处理残余进程的方法。
如有疑问,欢迎留言沟通。

参考资料

https://www.ibm.com/support/pages/how-move-some-child-processes-forked-applications-gui-out-lsf-control-when-cgroup-enabled-cluster
https://www.ibm.com/support/pages/node/632289

以上是关于LSF - bsub提交的任务关掉了,bjob查看job还在RUN?的主要内容,如果未能解决你的问题,请参考以下文章

LSF - bjobs频繁查询导致集群性能问题的debug分析

LSF 作业管理系统

LSF 中的混合 MPI/OpenMP

作业调度系统常用命令

LSF - Cadence任务完毕了但显示RUN - daemon starter配置

使用集群运行你的python代码