作业提交常见问题汇总
# 作业提交常见问题集
# 1 idle节点不能用
问题:为什么我用 yhi命令看到很多 idle 的节点,但是我提交作业后,作业不能立即执行?
解答:天河系统的作业调度原则是先来先服务,因为已经有用户优先于您提交作业并且已经在排队,所以 idle 的节点需要优先分配给优先提交作业的用户,即使用户提交作业需求节点数小于空余节点数,仍然因为先来先服务原则,处于等待状态。
# 2 yhrun提交任务断掉
问题:我用 yhrun提交完作业以后,网络或终端断掉后,我的作业也相应停止
解答:请您使用 yhbatch
命令提交作业,这样您就不会出现网络或终端断掉后作业停止的现象。
# 3 due to time limit
问题:请问我们的计算任务到某一时刻自动终止了,提示是有节点 due to time limit 而终止程序,请问贵中心的计算任务是有时间限制的吗?
解答:我们的 TH-1A 系统的队列是有时间限制的,命令行下输入 yhi
,输出结果的第三列 TIMELIMIT 即为不同分区下的最大作业运行限制。请您经常查看作业运行状态,以确保您的作业在正常运行。
# 4 任务莫名消失
问题:任务提交后显示在计算,然后任务消失,也没有输出 slurm-*-out 文件
解答:其所在分区存储设备可能没有挂载,请联系系统管理员。
# 5 任务突然运行速度变慢
问题:任务突然运行速度变慢?
解答:可能是该任务使用的计算节点内存报错,可换其他节点重新提交任务。
# 6 Disk quota exceeded
问题:任务输出结果总是显示 Disk quota exceeded
解答:首先查询磁盘空间是否超限,如果未超限,系统有时会误报超限,在每个月的定期维护时会解决掉这个问题。
# 7 缺库
问题:运行作业提示error while loading shared libraries: libXXX.so: cannot openshared object file: No such file or directory
解答:在计算时找不到动态库是因为计算节点和登陆节点的软件环境有所不同。链接器在处理动态库时将链接时路径(Link-time path)和运行时路径(Run-time path)分开,-L
只是指定了程序链接时库的路径,并不影响程序执行时库的路径;-Wl,-rpath
指定程序运行时库的路径,该库的路径信息保存在可执行文件中,运行时它会直接到该路径查找库;也可使用 LD_LIBRARY_PATH
环境变量来指定动态库在运行时的搜索路径。
# 8 couldn’t chdir to ...
问题:作业运行时提示:couldn’t chdir to '/vol6/home/usertest': No such file or directory: going to /tmp instead
解答:原因为所使用的计算队列无法访问用户所在的 /vol6
目录,即所使用的计算队列没有挂载到 /vol6
目录。解决方法:将问题报告给请联系系统管理员。
# 9 计算节点缺命令
问题:在计算节点上运行程序,找不到某些命令,比如说提示 bc: Command not found
解答:复制登录节点上的 bc
命令到自己账户下,设置好该命令的环境变量后,重新运行就可以找到命令。
# 10 PBS作业系统脚本如何修改
问题:PBS 作业系统里查看运行的节点名称的变量 $PBS_NODELINE,在 TH-1A 里对应哪一个变量?
解答:可以试试天河上的作业调度获取节点的变量 $SLURM_NPROCS
,它与PBS 的 $PBS_NODELINE
是一样的功能。
# 11 yhbatch没某个分区权限
问题:提交作业后,提示 yhbatch: error: Batch job submission failed: User's group not permitted to use this partition
解答:您提交作业 -p
参数后面指定的队列名称错误,请检查您可以使用的队列。
# 12 输出不更新,任务继续运行
问题:任务提交运行后,有时在还未达到队列的时间天数期限时,运行的程序已“停止工作”(输出文件没有更新),但是通过作业查询命令 yhq 查看,作业看起还在 R 运行
解答:遇到这个情况,请您及时手动杀掉您的作业,从断掉的地方接着续算就可以了。
# 13 Cannot send after transport ...
问题:运行作业报错 slurmd[cn4234]: Cannot send after transport endpoint shutdown
解答:请重新提交作业,并同时使用 -x cn4234
把这个节点过滤掉不使用就可以了。
# 14 Job credential expired
问题:运行作业报错 yhrun: error: Task launch for 2440965.0 failed on node cn2892: Job credential expired
解答:请重新提交作业,并同时使用 -x cn2892
把这个节点过滤掉不使用就可以了。
# 15 insufficient virtual memory
问题:运行作业报错 forrtl: severe (41): insufficient virtual memory
解答:运行作业的内存不够用了,请尝试多使用节点,每个节点上少使用核数来提交运行。
# 16 Batch job submission failed
问题:提交作业报错 yhbatch: error: Batch job submission failed: Batch job violates accounting/QOS policy(job submit limit, user's size and/or time limits)
解答:您没有提交作业的权限,请联系工程师,为您开通权限。
# 17 作业状态变为S
问题:提交的在运行的工作,刚刚发现状态都变显示为 S,另外,其他几个显示 PD 的工作,NODELIST 也显示为 PartitionDown 。不知是否是由于中心在做一些维护所致,这会影响这些工作的运行吗?
解答:S
状态是系统管理员正在维护系统,临时挂起用户作业后显示的状态。原来显示 PD
状态的变成 PartitionDown
状态是不影响工作运行。
# 18 作业CG杀不掉
问题:作业运行的状态为 CG,自己也杀不掉这个作业,是否影响我的使用,这个问题如何解决?
解答:CG
状态是作业正在退出,用户如果杀不掉这些 CG
状态的作业也没关系,它并不影响您的使用,管理员会集中定期处理这个 CG
状态的作业。
# 19 got SIGCONT
问题:输出的 slurm 文件中是如下数据:yhrun: got SIGCONT。我在天河服务器用户手册上没找到这条数据的解释。请问这条数据代表什么意思?
解答:这个是系统管理员临时维护系统,为了避免影响用户的作业,而把用户的作业挂起了出现的提示了。
# 20 计算队列时间限制
问题:计算队列有无时间限制?最长队列为多久?
解答:依据不同的租用方式和价格,用户分配在不同的计算分区。目前,队列为 2 天和 10 天以及无时间限制。
# 21 作业排队
问题:我提交的计算任务需要排队吗,还是说任何时候我都有优先级?
解答:除独占资源的用户外,普通用户提交计算作业后均需要排队。作业提交由作业调度系统依据提交时间及核数依序排队。作业先提交,或所需核较少,优先排队。