【发布时间】:2015-09-30 05:40:23
【问题描述】:
我正在运行内存不足的集群(使用 PBS)上的作业。我正在尝试在其他作业运行时分别打印每个节点的内存状态。我创建了一个 shell 脚本,并在我的作业提交脚本中包含了对该脚本的调用。但是当我提交我的工作时,它会在调用脚本的行上给我权限被拒绝错误。我不明白为什么会出现这个错误。
其次,我在想我可以在我的脚本文件中有一个“免费观看”或“观看 ps aux”,但现在我在想这是否会导致我提交的作业卡在内存监视脚本中并且永远不会继续到调用我的并行程序的主线。
毕竟,我怎样才能在 PBS 中记录我正在提交的作业的记忆。我的代码是一个使用 MRMPI (MPI MapReduce) 库的 C++ 程序。
【问题讨论】:
-
您只使用节点吗?如果是这样,您可以使用 PBS 本身收集的内存使用信息,这似乎比在脚本中复制此功能要容易得多。
-
如何访问 PBS 收集的信息?此外,我不仅想要最终报告,还需要查看在运行程序期间内存消耗如何变化。我想看看我的程序中是哪个 Map 或 Reduce 函数导致了问题。
-
Ups,抱歉,我没有检查
pbsnodes -a的输出中可用的信息。在扭矩status字段中仅报告负载平均值,在PBS Pro中仅报告assigned.mem。