我正在一个内存不足的集群上运行作业(使用 PBS)。我试图在其他作业运行时分别打印每个节点的内存状态。我创建了一个 shell 脚本,并从我的作业提交脚本中调用了该脚本。但是,当我提交作业时,它在调用脚本的行上给出了权限被拒绝错误。我不明白为什么会收到该错误。
其次,我想我的脚本文件中可以有“watch free”或“watch ps aux”,但现在我在想这是否会导致我提交的作业陷入内存监视脚本中,并且永远不会继续到达调用我的并行程序的主线。
毕竟,我如何才能将我提交的作业的内存记录在 PBS 中。我的代码是使用 MRMPI (MPI MapReduce) 库的 C++ 程序。
最佳答案
要查看整个作业使用了多少内存,请运行 qstat -f:
$ qstat -f | grep used
resources_used.cput = 00:02:51
resources_used.energy_used = 0
resources_used.mem = 6960kb
resources_used.vmem = 56428kb
resources_used.walltime = 00:01:26
要检查过去的工作,您可以查看会计文件。它位于 server_priv/accounting 目录中,默认为/var/spool/torque/server_priv/accounting/。
条目如下所示:
09/14/2015 10:52:11;E;202.napali;user=dbeer group=company jobname=intense.sh queue=batch ctime=1442248534 qtime=1442248534 etime=1442248534 start=1442248536 所有者=dbeer@napali exec_host=napali/0-2 Resource_List.neednodes=1:ppn=3 Resource_List.nodect=1 Resource_List.nodes=1:ppn=3 session=20415 Total_execution_slots=3 unique_node_count=1 end=0 Exit_status=0 resources_used .cput=1989 resources_used.energy_used=0 resources_used.mem=9660kb resources_used.vmem=58500kb resources_used.walltime=995
关于memory - 在 PBS 中观看内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32544745/