为什么Slurm会杀死一个特定的用户';几秒钟后,你的工作是什么?

为什么Slurm会杀死一个特定的用户';几秒钟后,你的工作是什么?,slurm,Slurm,我管理一个有很多用户的Slurm集群,集群的操作目前对所有用户来说都“完全正常”;除了一个。 这一个用户在20-25秒后通过Slurm执行命令的所有尝试都被终止。 以下示例再现了该错误: $ sudo -u <the_user> srun --pty sleep 25 srun: job 110962 queued and waiting for resources srun: job 110962 has been allocated resources srun: Force T

我管理一个有很多用户的Slurm集群,集群的操作目前对所有用户来说都“完全正常”;除了一个。 这一个用户在20-25秒后通过Slurm执行命令的所有尝试都被终止。
以下示例再现了该错误:

$ sudo -u <the_user> srun --pty sleep 25
srun: job 110962 queued and waiting for resources
srun: job 110962 has been allocated resources
srun: Force Terminated job 110962
srun: Job step aborted: Waiting up to 32 seconds for job step to finish.
slurmstepd: error: *** STEP 110962.0 ON <node> CANCELLED AT 2021-04-09T16:33:35 ***
srun: error: <node>: task 0: Terminated
它只发生在“”上,而不发生在我所知道的任何其他用户上。这个非常相似但运行时间较短的示例很好:

$ sudo -u <the_user> srun --pty sleep 20
srun: job 110963 queued and waiting for resources
srun: job 110963 has been allocated resources
不久之后,我看到了这条信息:

select/cons_tres: common_job_test: no job_resources info for JobId=110722_* rc=0
作业110722_*是另一个用户的挂起阵列作业,由于“QOSMaxGRESPerUser”而挂起。当111855被杀死时,此阵列作业(110722_57)的一个挂起部分最终接管了作业111855的CPU内核。这让我相信110722_57导致111855人死亡。然而,110722_57随后仍在等待处理

我在这里没有理解的一些事情是:

  • 为什么一个挂起的作业会杀死另一个作业,但之后仍然挂起
  • 一个挂起的作业怎么会有特权首先杀死另一个作业
  • 为什么这只会影响到的作业,而不会影响其他用户的作业
所有这些都不是有意要发生的。我猜这一定是由某些特定于“”的设置引起的,但我无法确定它们是什么,它们不应该是这样的。如果这些设置是我们管理员不知何故造成的,那么这是意外的

更新2

这个问题神奇地消失了,再也无法重现


注意:一些细节已被匿名化为上面的

这个问题神奇地消失了,我再也无法重现它了。用户尝试使用
-p
选项运行Slurm作业(指定我们唯一的分区“批处理”)。我们通常不使用
-p
,因为我们只有一个分区。从那时起,我们一直无法重现所描述的问题。我不知道为什么。
sched: _slurm_rpc_allocate_resources JobId=111855 NodeList=<node>
select/cons_tres: common_job_test: no job_resources info for JobId=110722_* rc=0