如何为指定节点设置SGE的h_rt硬运行时限制?
很抱歉听到你们管理员突发离世的消息,这种临时接手集群的情况确实让人头大。针对你说的「队列里多数节点h_rt设置正确,仅单个节点异常」的问题,我给你整理了具体的操作步骤:
第一步:确认目标节点的当前配置
先搞清楚节点的名称,以及它当前的h_rt设置。可以用以下命令查看节点的详细配置:qconf -se <你的节点名称>在输出里找
hard_resource_limits部分,看看是不是有单独设置的h_rt值——这大概率就是它和队列其他节点不一致的原因。第二步:修改节点的h_rt限制
有两种方式可以修改,选你顺手的就行:交互式编辑器修改
运行以下命令打开节点配置的编辑器:qconf -me <你的节点名称>在编辑器里找到
hard_resource_limits字段,把h_rt的值改成你需要的x(格式可以是整数秒,比如h_rt=86400代表24小时;也可以用HH:MM:SS格式,比如h_rt=24:00:00)。如果这部分原本不存在,直接添加一行h_rt=x即可。
保存退出后,配置就会生效。命令行直接修改(更高效)
不想打开编辑器的话,直接用这条命令一键修改:qconf -mattr exechost hard_resource_limits h_rt=x <你的节点名称>把x换成你要的数值或时间格式,节点名称替换成目标节点的名字就行。
第三步:验证修改是否成功
再次运行qconf -se <你的节点名称>,检查hard_resource_limits里的h_rt值是否已经更新为你设置的x。新提交到这个节点的任务就会遵循新的硬运行时限制了,已经在运行的任务不受影响。额外小贴士
如果之后想让这个节点重新继承队列的h_rt设置,而不是保持单独配置,可以用这条命令删除节点的单独h_rt限制:qconf -dattr exechost hard_resource_limits h_rt <你的节点名称>
备注:内容来源于stack exchange,提问作者Mikke Mus

