跳转至

常见问题——作业

为什么我的作业没被运行?

高性能计算公共计算平台采用Slurm作业调度系统,用户提交作业后,是否运行取决于用户申请的资源情况和当前系统的情况。建议使用 squeue 命令来查看所有已经提交和正在运行的作业。其中 NODELIST(REASON) 一栏 包含非常有用的信息,在作业未运行时,它会显示未运行的原因;当作业在运行时,它会显示作业是在哪个节点运行的。

下面的表格整理了常见作业未运行的原因,用户可根据此来调整自己的脚本。其中的加粗 部分表示异常原因,用户需要修改 SLURM 脚本或联系管理员。

 squeue        # 看 NODELIST(REASON) 栏

作业等待原因列表

为什么分区中有空闲节点,但是我的作业却还在排队

在某些时候,整个队列中可能有需要占用多节点的高优先级任务正在等待资源,当这些作业排队在前面时,调度器会一定程度上为这些作业保留资源,以确保它们能够运行。

我需要调试作业,怎么访问计算节点?

在一般情况下,用户不能通过 ssh 的方式直接连接任何一台计算节点。如果自己在相应节点有一个任务,则用户可以通过 ssh 的方式进入该节点,并且只会获取和自己任务相关的那一部分资源。进入对应的计算节点后,再使用 nvidia-smi 与 matlab 查看可用资源。

若超出任务最大时间,用户则会自动登出计算节点,所有未能按时结束的进程会自动终止。

若在目标节点上有两个或以上任务,使用 ssh 登录时会取得最近一次提交的任务所相关 的资源。

提示分区错误

error: Job submit/allocate failed: Invalid partition name specified;

错误原因:未指定正确的partition,可通过以下指令获取可用的分区

sacctmgr show ass user=`whoami` format=part |uniq

提示帐户/分区组合问题

error: Job submit/allocate failed: Invalid account or account/partition combination specified;

错误原因:通常是因为没有指定正确的账户,可通过以下指令获取可用账户

sacctmgr show ass user=`whoami` format=account%15 |uniq

报错:(AccountNotAllowed);

通常的原因是账户没有余额,或者账户封锁了。

为什么我使用112G的节点,但是还是报错说内存不足?

如果在112G内存的节点申请1个核心,那么实际可使用的内存为2G(112/56),其中56为该节点的CPU核心数。

本文阅读量  次    本站总访问量  次