slurm - 如何查看脚本使用的实际 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 显示?
解决方案
您要查找的字段是TotalCPU
. 从sacct
手册页:
TotalCPU 作业或作业步骤使用的 SystemCPU 和 UserCPU 时间的总和。
将其除以CPUTime
以获得效率。
作业或步骤使用的 CPUTime 格式化(经过的时间 * CPU)计数。
Slurm 附带一个 Perl 脚本来计算名为seff
(在“contrib”部分中)的作业的效率。见这里。
推荐阅读
- html - 显示:弹性中断
- 带有 Text 和 HTML-Tags 的元素,例如里面
- scala - 如何读取结构列数组
- bash - Bash 循环遍历多行 netstat 命令输出
- node.js - Busboy 在读取文件长度和文件数据之前发回响应?我正在上传单个文件
- amazon-web-services - 创建受 VPN 访问限制的 Amazon S3 预签名 URL
- delphi - SSL 库未在 Delphi COM+ 应用程序中加载
- python - 如何在 Python 中对外部索引上的数据框元素进行排序
- netsuite - 如何搜索与引用该客户记录的自定义记录实例结合的客户记录
- git - 两个功能分支。在哪里进行修改?
- cassandra - Cassandra DB 使用哪个依赖项(反应式)