为什么Slurm会杀死一个特定的用户';几秒钟后,你的工作是什么?
我管理一个有很多用户的Slurm集群,集群的操作目前对所有用户来说都“完全正常”;除了一个。 这一个用户在20-25秒后通过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
以下示例再现了该错误:
$ 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随后仍在等待处理
我在这里没有理解的一些事情是:
- 为什么一个挂起的作业会杀死另一个作业,但之后仍然挂起
- 一个挂起的作业怎么会有特权首先杀死另一个作业
- 为什么这只会影响到的作业,而不会影响其他用户的作业
注意:一些细节已被匿名化为上面的
。这个问题神奇地消失了,我再也无法重现它了。用户尝试使用-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