我现在正在远程群集上运行名为CMAQ的模拟代码。我首先连续进行基准测试以查看软件的性能。但是,作业总是运行几十个小时然后崩溃,并显示以下“陈旧文件句柄,错误= 116 ”错误消息:
PBS工作ID:91487.master.cluster 职位名称:cmaq_cctm_benchmark_serial.sh 执行主持人:hs012 / 0 处理您的工作时出错,请参阅下文。 发布作业文件处理错误;作业91487.master.cluster主机hs012 / 0未知资源类型REJHOST = hs012.cluster MSG =无效主目录'/ home / shangxin'指定,errno = 116(过时文件句柄)
这很奇怪,因为我从不修改主目录,这个“/ home / shangxin /”肯定是我的永久目录所在的代码....
此外,在标准输出.log文件中,作业失败时始终显示以下消息:
总线错误 100247.930u 34.292s 27:59:02.42 99.5%0 + 0k 16480 + 0io 2pf + 0w
这条消息具体意味着什么?
我曾经认为这个错误是由于该作业消耗了RAM而这是一个内存溢出问题。但是,当我在运行时使用“free -m”和“htop”命令检查内存使用情况时登录计算节点时,我注意到RAM和交换内存占用率都不会超过10%,处于非常低的水平,所以内存使用率不是问题。
因为我使用“tee”来记录运行到日志文件的作业,所以此文件最多可包含数万行,大小超过1MB。为了测试此标准输出是否压倒了集群系统,我运行了另一个相同的作业但没有标准输出日志文件。几十个小时后,新作业仍然以相同的“Stale file handle,errno = 116”错误失败,因此标准输出也不是原因。
我还尝试与多个内核并行运行作业,运行几十个小时后仍然出现相同的错误。
我可以确保我使用的代码没有问题,因为它可以在其他群集上成功完成。该群集的管理员正在调查此问题,但目前还无法找到具体原因。
有没有人遇到这个奇怪的错误?我们该怎么做才能解决群集上的这个问题?任何帮助表示赞赏!
答案 0 :(得分:2)
在学术群集上,主目录经常通过NFS安装在群集中的每个节点上,以便为所有节点提供统一的体验。如果不是这种情况,则每个节点都有自己的主目录版本,您必须采取明确的操作来复制工作节点和/或登录节点之间的相关文件。
听起来工作节点上主目录的NFS挂载可能在您的作业运行时失败。除非您拥有群集的管理权限,否则这不是您可以直接修复的问题。如果您需要进行解决方案并且不能等待系统管理员解决问题,您可以:
最简单的解决方案是与群集管理员合作,但我知道他们并不总是按照您的日程安排工作。