首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >找出slurm作业的CPU时间和内存使用情况

找出slurm作业的CPU时间和内存使用情况
EN

Stack Overflow用户
提问于 2014-06-04 00:35:12
回答 4查看 63.3K关注 0票数 62

我认为这是一个相当微不足道的问题,但尽管如此,我仍然在寻找(我猜是sacct)命令,该命令将显示slurm作业ID所使用的CPU时间和内存。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-06-07 01:40:33

如果您的任务已经完成,那么sacct命令就是您要查找的内容。否则,请查看sstat。对于sacct,--format开关是另一个关键元素。如果您运行此命令:

代码语言:javascript
运行
复制
sacct -e

您将获得可用于--format开关的不同字段的打印输出。手册页的Job Account Fields部分介绍了每个字段的详细信息。对于CPU时间和内存,CPUTime和MaxRSS可能就是您想要的。如果您想要以秒为单位的数字,也可以使用cputimeraw,而不是通常的Slurm时间格式。

代码语言:javascript
运行
复制
sacct --format="CPUTime,MaxRSS"
票数 70
EN

Stack Overflow用户

发布于 2014-07-29 03:24:54

sacct确实是用于完成作业的命令。对于正在运行的作业,可以查看sstat命令。

票数 26
EN

Stack Overflow用户

发布于 2020-03-27 17:11:39

虽然已经有了很棒的解决方案,但我分享了另一种观点。

该方法可以对多个节点进行实时监控。

我们可以编写一个脚本monitor.sh来获取统计数据(例如内存),然后将其记录到文件中。

代码语言:javascript
运行
复制
#! /bin/sh
if [ -f "./free.log_"`hostname` ];then
    echo "file existed , now deleting it !"
    rm ./free.log_`hostname`
fi
echo "start recording!"

while true
do
    echo "******["`date +%Y-%m-%d_%H:%M:%S`"]******" >> free.log_`hostname`
    free -s 1 -c 2 -h|sed -n 1,2p >> free.log_`hostname`
done

然后编写您的作业脚本sbatch_input.sh,它可以被sbatch调用。

代码语言:javascript
运行
复制
#! /bin/sh
#SBATCH -N 2
#SBATCH -p cnall
srun hostname
srun ./monitor.sh

调用脚本

代码语言:javascript
运行
复制
sbatch ./sbatch_input.sh

我们可以看到一些日志生成。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24020420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档