显示与SLURM使用的CPU小时

时间:2019-02-02 10:30:30

标签: cpu-usage hpc slurm

我在超级计算机上有一个用户帐户,可以用口水处理工作。

我想知道我在这台超级计算机上消耗的CPU总时间。我认为这是一个可以理解的问题,因为每个项目只能使用有限的CPU时间。我很惊讶找不到答案。

我知道有像sacct,sreport,sshare等所有这些命令...但似乎没有简单的命令,它显示使用的CPU小时。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:2)

正如其他人所评论的那样,sacct应该为您提供该信息。您将需要查看手册页以获得过去工作的信息。您可以指定--starttime和--endtime来限制查询,使其在结束/更新时与您的分配相匹配。 -l选项应该为您提供比所需更多的信息,因此可以通过--format指定所需的选项,从而获得较少的选项集。

在您的情况下,正确的答案是询问管理员。您已获得分配的时间。他们可能有一个系统,可以显示您的余额,您可以将余额与sacct的输出进行对帐。另外,如果您使用的系统具有不同的节点类型,例如高内存,GPU,MIC或旧的,则它们可能会对这些资源收取不同的费用。

答案 1 :(得分:1)

您可以通过以下信息获得CPU使用时间的概述:

sacct -SYYYY-mm-dd -u username -ojobid,start,end,alloccpu,cputime | column -t

您将可以计算出SBU的总乘以AllocCPU的CPUTime,这意味着将总(sysem + user)CPU时间乘以所用的CPU数量。

一个例子:

    JobID         NodeList         State       Start                End                  AllocCPUS   CPUTime
------------  ---------------  ----------  -------------------  -------------------  ----------  ----------
6328552       tcn[595-604]     CANCELLED+  2019-05-21T14:07:57  2019-05-23T16:48:15  240         506-17:12:00
6328552.bat+  tcn595           CANCELLED   2019-05-21T14:07:57  2019-05-23T16:48:16  24          50-16:07:36
6328552.0     tcn[595-604]     FAILED      2019-05-21T14:10:37  2019-05-23T16:48:18  240         506-06:44:00
6332520       tcn[384,386,45+  COMPLETED   2019-05-23T16:06:04  2019-05-24T00:26:36  72          25-00:38:24
6332520.bat+  tcn384           COMPLETED   2019-05-23T16:06:04  2019-05-24T00:26:36  24          8-08:12:48
6332520.0     tcn[384,386,45+  COMPLETED   2019-05-23T16:06:09  2019-05-24T00:26:33  60          20-20:24:00
6332530       tcn[37,41,44,4+  FAILED      2019-05-23T17:11:31  2019-05-25T09:13:34  240         400-08:12:00
6332530.bat+  tcn37            FAILED      2019-05-23T17:11:31  2019-05-25T09:13:34  24          40-00:49:12
6332530.0     tcn[37,41,44,4+  CANCELLED+  2019-05-23T17:11:35  2019-05-25T09:13:34  240         400-07:56:00

这些字段显示在manpage中。可以将它们显示为-oOPTION(以小写形式或以正确的POSIX表示法--format ='Option,AnotherOption ...'(列表在该手册中)。

到目前为止,一切都很好。但是这里有一个很大的警告:

您在这里看到的东西非常适合让您了解运行的内容或期望的CPU /小时数。但这并不一定反映您的真实预算状态,因为在许多情况下,每个节点/分区可能都有一个额外的参数,即权重,权重是出于会计目的而设置的参数,而不是SLURM的一部分。例如,GPU节点的权重值为x3,这意味着出于预算目的,每个GPU /小时的度量单位为3 SBU,而不是1。我的意思是说,您可以使用sacct来了解CPU时间,但这并不一定反映您仍然拥有多少SBU积分。