FAQ
集群配置FAQ
1. 发生重配置的条件
在集群没有配置头节点HA的时候, 集群在以下条件下会触发重配置:
- 用户对集群进行了变更, 例如: 添加/删除节点, 修改配置等.
- 用户主动使用了"重新配置"功能.
- 管理栈无法从必要的服务程序获取信息, 通过重配置来重新获取关键信息. 包括以下服务:
- fs-scale: 用于获取集群任务信息, 维护集群节点DRAIN状态等.
- fs-statesvc: 用于收集任务信息, 分析任务状态等.
如果集群配置了头节点HA, 则不再进行自动的重配置.
调度器命令FAQ
1. 优先级如何确定?如何调整优先级?
查看作业优先级
squeue #查看作业信息,PRIORITY数值越大,优先级越高
JOBID PARTITION NAME USER ST TIME NODES NODELIST CPUS REASON PRIORITY TIMELIMIT ACCOUNT
12345 compute my_job user1 R 02:15 1 node01 4 None 1000 01:00:00 myaccount
12346 compute another_job user2 PD 00:10 1 (None) 4 Resources 900 02:00:00 otheraccount
12347 compute test_job user1 CG 00:05 1 node02 4 None 950 01:30:00 myaccount
squeue -j <job_id> #指定作业ID,包括优先级
squeue -u <username> #指定用户,包括优先级
scontrol show job <job_id> #指定作业ID,查询作业详细信息,包括优先级
调整优先级
#提交任务设置优先级
sbatch --priority=10000 my_script.sh #1000代表优先级,值越大,优先级越高
#管理员调整已提交的作业优先级
scontrol update jobid=12345 priority=2000 #把作业ID为 12345 的优先级调整为 2000。
负载阈值FAQ
1. stop任务和恢复任务的原理是什么?
在调度器层面,先发送SIGTSTP信号(可 被trap),两秒钟后发送SIGSTOP信号(不可trap)。
2. 所有的任务都能恢复么?
因负载阈值的LoadstopMem或LoadstopUt参数停止的任务,当负载阈值调整后都可以自动恢复,继续执行作业。
3. FCP中如何配置负载阈值?
负载阈值支持按分区设置自定义参数,支持在新建分区和编辑分区时设置。以下是自定义参数设置界面:
- 在新建集群时,在计算分区高级配置-自定义参数中设置。
- 集群创建后,可以在新建计算分区高级配置-自定义参数中设置。
- 集群创建/计算分区创建成功后,可以在分区列表-高级配置-编辑自定义参数中。
设置示例:

具体支持设置的参数及参数设置说明见负载阈值介绍文档
4. 被stop的任务在调度器层面是否释放计算资源?实际系统层面呢?
内存不被释放,CPU被释放。
5. loadstop的任务与scontrol suspend命令以及scancel -s SIGSTOP/SIGTSTP的区别?
- loadstop: 这是一个功能,用于在特定负载条件下自动停止任务。它通常用于动态管理作业,以防止集群负载过高。被停止的作业会进入 ST 状态,内存仍然保留,CPU会被释放。
- scontrol suspend: 这是一个手动命令,用于暂停指定的作业。执行该命令后,作业会被挂起。节点资源被释放,用户可以在需要时使用 scontrol resume 恢复作业。
- scancel -s SIGSTOP/SIGTSTP: 这是一个用于发送信号的命令,可以通过 scancel 向特定作业发送 SIGSTOP 或 SIGTSTP 信号,强制暂停作业。SIGSTOP 是无法被捕获的信号,作业会立即停止;而 SIGTSTP 是可捕获的,作业可以选择处理该信号。无法停止batch命令提交的作业。被停止的作业进入ST状态,内存仍然保留,CPU会被释放。
6. 任务停止的顺序策略是什么?
任 务停止的顺序策略按照优先级,先停止优先级低的任务。手动更改任务优先级后,负载阈值的自动停止顺序策略不会更改,依旧会按照旧的优先级停止任务。
7. 负载阈值配置是否可以在线修改?
可以在WEB界面-集群管理-分区列表-高级配置编辑自定义参数,具体可参考问题3中的截图。
8. 是否可以手动操作实现类似loadstop中停止任务的效果(资源不释放)?
不可以。
9. 用户手动操作与负载阈值中的自动操作是否会冲突
不会冲突。
10. 负载阈值中轮询负载和启停任务的间隔时间是多 少?
- 轮询负载的间隔时间: 负载监控(例如自动启停任务)会按设定的时间间隔进行轮询,默认时间为 30秒。
- 启停节点的间隔时间: 启停节点(如 drain 节点)之间的间隔时间设置为 300秒,即在两次对同一节点的 drain 操作之间需等待 300 秒。
其他FAQ
1. 子进程的处理,cgroup/pgid区别
cgroup 主要关注资源控制和监控,而 pgid 则关注进程的组织和管理。以下是两者的区别:
| 特性 | cgroup | pgid |
|---|---|---|
| 定义 | 控制组,用于资源限制和监控 | 进程组 ID,用于标识相关进程的集合 |
| 功能 | 限制资源、监控使用量、优先级管理 | 信号管理、作业控制 |
| 用途 | 容器管理、多用户资源控制 | 终端作业管理、进程关联管理 |
| 适用范围 | 资源管理和限制 | 进程管理和作业控制 |