发布
社区首页 >问答首页 >如何在Slurm中固定计算的内存数?

如何在Slurm中固定计算的内存数?

提问于 2024-12-03 16:37:37
回答 0关注 0查看 14

各位好,目前为了做测试,希望可以在计算节点计算的过程中控制核数与使用的内存。

通过与服务器工程师沟通得知,每个核会平均分配内存数。之前尝试过4核、32G进行计算,但实际计算过程中使用的是8核、32G,因为那台服务器每核会分配4G的内存。

目前我的疑惑点在于:

1、如何固定计算时调用的内存数?

目前我尝试过的方法如下:

  • 设置四核计算,控制总内存数为16G:
代码语言:txt
复制
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=4
#SBATCH --mem=16G 
  • 设置四核计算,控制每核分配的内存数为:
代码语言:txt
复制
#SBATCH --nodes=1             
#SBATCH --ntasks=1            
#SBATCH --cpus-per-task=4
#SBATCH --mem-per-cpu=4G 

2、如何查看实际内存的使用率?

目前我尝试过的方法如下:

  • 我尝试过直接在计算节点查看调用的内存:
代码语言:txt
复制
ssh <usrname>@<nodelist>   # 登录计算节点
top  # 第一种查看内存的方法
ps -u<usrname> -o %cpu,rss,args  # 第二种查看内存的方法
  • 直接在非计算节点查看内存:
代码语言:txt
复制
scontrol show job <jobID>
  • 直接在脚本中让他导出使用的内存:
代码语言:txt
复制
  # 打印任务完成后 SLURM 的内存使用情况
  echo "任务完成,统计内存使用情况:"
  echo "----------------------------------------"
  sacct -j $SLURM_JOBID --format=JobID,AllocCPUs,ReqMem,MaxRSS
  echo "----------------------------------------"

真的好困惑,感觉设置内存也没什么特殊的问题,但是查看实际调用的内存又往往核设定的内存不一致。

恳请各位帮忙!!!!

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

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