PBS任务只排队,不运行
PBS调度问题
- 问题描述
- 网上常见的解答
- 调试过程
- 任务列表查询
- 任务调度系统
- 查看单个任务的详细信息
- 主要原因分析
问题描述
自上次重启之后,pbs队列系统再次出现同样的问题,任务能够正常提交,并进入队列系统,但是始终都处于排队状态,即使有大量的空闲节点。
网上常见的解答
关于这个问题,网上也有大量的讨论,其中说的比较多的解决方案就是更改时区,但是这个解答好像并不适用于我的情况。
链接中提到的是任务提交失败,修改时区后能正常提交任务,但是提交后的任务仍不能自动调度,只能通过qrun
来手动调度。
调试过程
因为这几天输入的命令较多,没有及时记录,所以这里只能根据回忆提供大概的过程。
任务列表查询
[root@master ~]# qstat
Job ID Name User Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
82327.ILC conformation engzsinger 0 Q hpc001
82460.ILC ...mole-n01 engzsinger 0 Q hpc001
82471.ILC conformation engzsinger 03:02:58 R hpc001
82472.ILC remote cosmo1 0 Q hpc001
82473.ILC remote cosmo1 0 Q hpc001
82474.ILC remote cosmo1 0 Q hpc001
82475.ILC remote cosmo1 0 Q hpc001
使用命令qstat
进行查询,看到除了一个运行任务,所有任务都在排队,即状态码为Q
,而此时服务器上明显有大量空闲节点。查看这几个排队任务的提交脚本,发现提交任务时指定的节点并不跟正在运行的任务冲突,所以认定这个排队状态是调度失败导致的。
任务调度系统
既然认为是任务调度出了问题,那自然就要解决任务调度的问题。torque
的工作模式是
- 管理节点上运行
pbs_server
服务,向队列提交任务- 计算节点上运行
pbs_mom
服务,监听管理节点的分派,并进行计算- 管理节点上运行
pbs_sched
服务或maui.d
服务,进行任务的调度
相应的服务可以通过命令ps -e | grep "service_name"
进行查询,这里我们关心的是任务调度服务,torque
默认的调度方式是pbs_sched
,用户也可以根据自己的需要,采用功能更强大的maui
,所以这一步要做的是找到自己运行的任务调度程序,并将其重启。
这一尝试在前几天 已经尝试过,但是效果很短暂,而且道理没搞清楚。
查看单个任务的详细信息
torque
本身带有的命令tracejob
能够对队列中任务的状态进行追踪
[engzsinger@master ION_DCM]$ tracejob 82327
/var/spool/torque/server_priv/accounting/20200822: Permission denied
/var/spool/torque/mom_logs/20200822: No matching job records located
/var/spool/torque/sched_logs/20200822: No such file or directoryJob: 82327.ILC08/22/2020 01:07:27 S Unauthorized Request, request type: 15, Object: Job, Name: 82327.ILC, request from: root@159.226.63.32
08/22/2020 01:10:42 S Unauthorized Request, request type: 15, Object: Job, Name: 82327.ILC, request from: root@159.226.63.32
08/22/2020 02:07:57 S Unauthorized Request, request type: 15, Object: Job, Name: 82327.ILC, request from: root@159.226.63.32
08/22/2020 03:08:27 S Unauthorized Request, request type: 15, Object: Job, Name: 82327.ILC, request from: root@159.226.63.32
08/22/2020 04:08:57 S Unauthorized Request, request type: 15, Object: Job, Name: 82327.ILC, request from: root@159.226.63.32
08/22/2020 05:09:27 S Unauthorized Request, request type: 15, Object: Job, Name: 82327.ILC, request from: root@159.226.63.32
08/22/2020 06:09:45 S Job Run at request of root@ILC
08/22/2020 06:09:48 S unable to run job, MOM rejected/timeout
08/22/2020 06:09:48 S unable to run job, send to MOM '10.0.10.11' failed
08/22/2020 07:09:54 S Job Run at request of root@ILC
08/22/2020 07:09:57 S unable to run job, MOM rejected/timeout
08/22/2020 07:09:57 S unable to run job, send to MOM '10.0.10.11' failed
08/22/2020 08:10:10 S Job Run at request of root@ILC
08/22/2020 08:10:13 S unable to run job, MOM rejected/timeout
08/22/2020 08:10:13 S unable to run job, send to MOM '10.0.10.11' failed
这里能看到系统几次调度该任务的尝试,都以失败告终,而原因是发送到MOM
失败,也就是计算节点接受不到任务。
- 采用
maui
包中的checkjob
命令进行查看,
[engzsinger@master ~]$ checkjob 82460checking job 82460State: Idle EState: Deferred
Creds: user:engzsinger group:users class:hpc001 qos:DEFAULT
WallTime: 00:00:00 of INFINITY
SubmitTime: Fri Aug 21 16:54:49(Time Queued Total: 1:05:17:54 Eligible: 00:00:00)StartDate: -00:58:28 Sat Aug 22 21:14:15
Total Tasks: 24Req[0] TaskCount: 24 Partition: DEFAULT
Network: [NONE] Memory >= 0 Disk >= 0 Swap >= 0
Opsys: [NONE] Arch: [NONE] Features: [new]IWD: [NONE] Executable: [NONE]
Bypass: 0 StartCount: 21
PartitionMask: [ALL]
Flags: HOSTLIST RESTARTABLE
HostList: [n01:24]
job is deferred. Reason: RMFailure (cannot start job - RM failure, rc: 15025, msg: 'Bad UID for job execution MSG=connection to mom timed out')
Holds: Defer (hold reason: RMFailure)
PE: 24.00 StartPriority: 58
cannot select job 82460 for partition DEFAULT (job hold active)
这里显示的信息主要是任务目前的详细状态,以及对应提交的节点,可能的错误,其中提到了Bad UID for job execution MSG=connection to mom timed out
的错误,而通过这个错误进行搜索,也能找到很多解答。
主要原因分析
综合上面的分析,这个问题主要是节点之间通讯导致的问题,管理节点于计算节点的通讯失败。从tracejob
的输出结果看,调度系统一直在尝试提交任务,但始终没有被接受执行。
之前一直笃定是调度服务的错误导致的,而且深信计算节点没有问题,结合以上分析后,登录到计算节点看一下,结果提示输入密码,而且输入密码后提示密码错误。这之前也没改过密码啊,怎么突然就不行了。
搭建PBS服务器的过程中,考虑到计算节点安装软件的不便利,各节点创建用户比较麻烦,会同时搭建文件共享服务器和用户信息共享服务器,这样,只需要在管理节点上配置用户,用户可以直接使用相同的登录选项登陆计算节点。现在这个问题可能是计算节点的用户信息共享服务不正常导致的,那下一步主要从这一方面考虑如何解决问题。
PBS任务只排队,不运行相关推荐
- xcode 工程没有模拟器_Xcode只允许我运行iOS设备(没有模拟器)
Xcode只允许我运行iOS设备(没有模拟器) 我刚刚将一个项目克隆到Xcode中,并试图在模拟器中运行它. 但是,我唯一的选择是iOS设备. 这只是这个项目的独特之处,我不知道如何修复它. 其他人遇 ...
- 农信银支付清算系统题库_[多选] 农信银支付清算系统中()业务只在工作日运行。...
[多选] 农信银支付清算系统中()业务只在工作日运行. 更多相关问题 限制性心肌病可见A.左室前壁心肌梗死 B.心瓣膜穿孔 C.心内膜心肌纤维化 D.左心室肥大 钢丝绳有卡子连接时,卡子数目一般不少于 ...
- allure测试报告怎么清除历史记录的数据,只展示当前运行结果内容
文章目录 一.实际allure运行后的报告 二.期望allure运行后的报告 三.解决方法 一.实际allure运行后的报告 展示结果:包括当前运行的内容+历史运行的内容 二.期望allure运行后的 ...
- Mac程序坞只显示正在运行的应用图标
这样看起来就清爽多了 执行终端命令: defaults write com.apple.dock static-only -bool true; killall Dock 即可隐藏其他程序,只显示正在 ...
- linux 只允许运行指定程序,我命由我不由天!如何只让程序运行指定时间?
有时候,我们在使用 linux 系统时,会出现下面这样的情景: 一个命令或程序需要很长时间才能运行完毕,在这过程中,系统可能会假死,我们做任何操作都没用,只好重启系统: 我们仅仅想让命令或程序运行指定 ...
- 只让电脑运行某个程序设置
一.具体操作流程 Win + R打开运行,输入gpedit.msc,然后点击确定 ----------------------------------------------------------- ...
- sublime3 Ctrl + B 只build 不运行的解决方案之一
最近在使用Sublime 3 做开发,一句话评论 不可多得的神器!!! 但是最近发现Ctrl + B build 运行不能用了,不知道出了啥幺蛾子, 查了很多文档也没解决,后来修改Python.sub ...
- IDL---批量波段合成(只要点击运行,自动化处理,解放生产力)
参考博客地址:https://blog.csdn.net/t46414704152abc/article/details/72520575 要进行几百份数据的波段合成,不批量处理真是要做到猴年马月哟. ...
- 解决Intel12代酷睿CPU单线程只给小核运行的问题
文章目录 (一)新问题 (二)无效折腾 (三)偶然发现 (四)继续研究 (一)新问题 真是一波未平一波又起-- 刚搞定了多线程,参考
最新文章
- android 时间显示格式,Android setting中修改时间显示格式后,桌面的数字时钟widget小部件显示不更新...
- MATLAB Simulink如何实现S-Function builder功能
- numpy在折线图上添加取值_见识matplotlib:不常见的一面,折线图
- Linux下sed命令替换配置文件中某个变量的值(改变包含字符的一行的值)
- PB市净率,PE市盈率
- 金融数据分析之财务分析表要填数据怎么办?(学习理财课程后开发的助手工具)
- jquery ajax示例_jQuery AJAX JSP Servlet Java示例
- 剑指offer——面试题29:数组中出现次数超过一半的数字
- mysql 去空格_MySQL基本命令操作
- 下载Linux版(rpm格式),WPS Office 2019 Linux 11.1.0.9505版提供Deb、Rpm格式包下载
- 什么是运行时应用程序自我保护(RASP)Runtime Application Self-Protection
- Web前端-Vue中给input框赋值
- Dungeon Architect插件介绍
- c语言中小数乘整数,小数乘整数中的算法算理教学
- 李宏毅《机器学习》笔记:3.误差分析和梯度下降
- 【Bluetooth蓝牙开发】九、BLE协议之GATT
- 神经性脚臭案例整理(六)
- java计算机毕业设计哈尔滨旅游项目推荐平台演示录像2020MyBatis+系统+LW文档+源码+调试部署
- 测试管理工具列表大全
- c++ [Error] conflicting declaration的错误