首页 > 解决方案 > 如何查看脚本使用的实际 CPU 数量?

问题描述

我想知道执行的脚本实际使用了多少预留的 CPU,以便我可以优化 CPU 预留(而不是过度预留 CPU)

例如,如果我执行了具有限制的脚本,例如
srun -t 60 -c 4 --mem=10000 SOMECOMMAND
在作业完成后,我可以获得统计信息例如,
sacct -l -j JOBNR

从这些统计数据中,我从“MaxRSS”中看到了作业的内存消耗,但我不知道如何查看使用的 CPU 数量?

“AllocCPUS”和请求的 CPU “ReqTres”始终相同。我知道 CPUTime 给了我 Elapsed time * CPU 但这似乎总是 AllocCPUS * Elapsed time。

我是否错过了某些领域,或者我所有的工作实际上都使用了所有的 CPU,或者这根本没有被 slurm 显示?

标签: slurm

解决方案


您要查找的字段是TotalCPU. 从sacct手册页:

TotalCPU 作业或作业步骤使用的 SystemCPU 和 UserCPU 时间的总和。

将其除以CPUTime以获得效率。

作业或步骤使用的 CPUTime 格式化(经过的时间 * CPU)计数。

Slurm 附带一个 Perl 脚本来计算名为seff(在“contrib”部分中)的作业的效率。见这里


推荐阅读