在slurm 中, 当PreemptType=preempt/qos 时,一个 job的初始优先级 InitPrio 高于其它jobs ,但是不能发生抢占,原因在哪?
时间: 2024-03-04 16:52:48 浏览: 161
当PreemptType=preempt/qos时,一个job的初始优先级InitPrio高于其他job,但不能发生抢占的原因是因为PreemptType=preempt/qos是一种基于QOS的抢占策略。这种策略是基于预定义的QOS级别,每个job都会被分配一个QOS级别,该级别决定了job的优先级。在这种情况下,一个job的InitPrio仅仅是用来指定该job的初始QOS级别,它并不会影响job的抢占。换句话说,一个job的InitPrio高并不意味着它会抢占其他job,只有在它的QOS级别高于其他job时,才会发生抢占。因此,当PreemptType=preempt/qos时,一个job的InitPrio高于其他job,但不能发生抢占。
相关问题
在slurm 中, 当PreemptType=preempt/qos 时, 一个高优先级JOB 没有抢占低优先级JOB, 为什么 ?
在Slurm中,PreemptType=preempt/qos时,一个高优先级JOB没有抢占低优先级JOB的原因可能是因为低优先级JOB已经被分配了足够的资源,而高优先级JOB所需要的资源已经不足以满足其需求,因此无法抢占低优先级JOB。此外,也有可能是由于Slurm中的调度算法在考虑抢占时,同时考虑了任务的优先级以及当前任务所占用的资源情况,因此在某些情况下,高优先级JOB也可能无法抢占低优先级JOB。
在slurm 中, 当PreemptType=preempt/qos 时, 如何查看一个将要运行job的优先级 ?
当PreemptType=preempt/qos时,在Slurm中查看一个将要运行job的优先级可以使用`squeue`命令并指定`-o`选项来指定输出格式。例如,以下命令可以列出正在运行的job以及它们的优先级:
```
squeue -o "%.18i %.9P %.8j %.8u %.2t %.10M %.6D %R" -t RUNNING
```
在输出中,`%.9P`字段表示job的QOS级别,这也是job优先级的一个指标。如果想查看所有状态的job的优先级,可以去掉`-t`选项。如果想只查看某一个job的优先级,可以使用`scontrol`命令并指定job的ID。例如,以下命令可以查看job ID为12345的job的优先级:
```
scontrol show job 12345 -d | grep Priority
```
输出中的`Priority`字段表示job的优先级,该值越高,job的优先级越高。
阅读全文