slurm - slurm:有没有办法返回未使用的核心号?
问题描述
我们知道squeue
返回正在运行的作业的状态。
squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
130 debug run.sh user PD 0:00 1 (Resources)
131 debug run.sh user PD 0:00 1 (Resources)
128 debug 52546914 user R 7:28 1 node1
129 debug run.sh user R 0:02 1 node1
例如我的核心数是 2。
[Q]有没有办法只返回未使用的核心号?在示例中,未使用的核心编号应返回 0。
我是否应该为此编写一个解析器以检索每个旁边的核心数R
,添加它们,然后从总核心数中减去它,如下所示:
squeue | grep -P ' R ' | awk '{print $7}' | paste -sd+ - | bc
解决方案
要了解集群中可用的核心(CPU) 数量,您可以使用以下sinfo
命令:
$ sinfo -o%C
CPUS(A/I/O/T)
0/1920/0/1920
您可以轻松地将数字检索到 Bash 变量中
IFS=/ read A I O T <<<$(sinfo -h -o%C)
运行上述命令后,A
将包含分配的核心数,I
将是空闲核心数,O
将保存“其他”核心数,即耗尽、关闭等,T
并将是系统中的核心总数.
请注意,在您的问题中,您谈论的是核心,但实际上是计算节点的数量。如果您想要的是节点数,您可以使用:
$ sinfo -o%A
NODES(A/I)
0/80
有关更多详细信息,请参见sinfo 手册页。
推荐阅读
- postgresql - 单元测试 Postgres 数据库连接 golang
- django - drf-spectacular 找不到检查员课程
- tooltip - 格式化 Altair 等值线地图图例比例和工具提示
- python - MATLAB的PIQE函数错了吗?
- assembly - 如果我在 MIPS32 程序集中将其空间保留为 .space,是否需要以空值开头?
- google-bigquery - BigQuery,有没有办法在整个数据库中搜索字符串?
- linux - 将 ioremap 用于端口空间地址有什么好处吗?
- java - Spring Webflow - 广义决策状态的最佳实践
- javascript - 如何将种子值传递给 Sequelize 中的随机顺序函数
- r - 跨数据框行/列的模式匹配(概念问题)