![在 Slurm 作业管理器中检查节点的 CPU/线程使用情况](https://linux22.com/image/10130/%E5%9C%A8%20Slurm%20%E4%BD%9C%E4%B8%9A%E7%AE%A1%E7%90%86%E5%99%A8%E4%B8%AD%E6%A3%80%E6%9F%A5%E8%8A%82%E7%82%B9%E7%9A%84%20CPU%2F%E7%BA%BF%E7%A8%8B%E4%BD%BF%E7%94%A8%E6%83%85%E5%86%B5.png)
我正在使用 Slurm 作业管理器的集群计算机上工作。我刚刚启动了一个多线程代码,我想检查给定节点 ID 的核心和线程使用情况。例如,
scoreusage -N 92512
“scoreusage”是我不确定的命令。
答案1
我发现内置的 SLURM 工具非常基础。相反,您可以使用类似htop
, 来实时监控(正在运行的)作业。
- 查找作业正在哪个节点上运行:
$ scontrol show job $JOB_ID | grep ' NodeList'
NodeList=<HOSTNAME>
ssh
进入节点:$ ssh <HOSTNAME>
- 根据需要运行监控程序,例如
$ htop
答案2
我运行 slurm 集群已经有几年了,但squeue
应该可以给你你想要的东西。尝试:
squeue --nodelist 92512 -o "%A %j %C %J"
(这应该为节点 92512 上的作业提供作业 ID、作业名称、CPU 和线程)
顺便说一句,除非您专门只想要某个特定节点的详细信息,否则您最好按作业 ID 而不是节点 ID 进行搜索。
网络上有很多不错的网站,提供有关使用 slurm 的文档,可以通过 google 轻松找到 - 大多数运行 HPC 集群的大学等都会编写自己的文档和帮助以及“备忘单”,根据其特定集群的详细信息进行定制(s)(因此请考虑到这一点并根据您的集群调整任何示例)。还有关于使用的很好的通用slurm
文档https://slurm.schedmd.com/documentation.html