slurm简明使用手册使用手册

使用Slurm作业管理系统,当前debug作业队列设置为节点可以共享,但作业独占CPUcore/GPU资源。多个用户可以提交作业到同一个节点上,但是节点上CPUcore/GPU资源只能被单一作业占有使用。

作业管理系统常用命令如下:

1、sinfo查看系统资源

sinfo得到的结果是当前账号可使用的队列资源信息,如下图所示:

其中,

第一列PARTITION是队列名,默认能使用的队列名为debug。

第二列AVAIL是队列可用情况,如果显示up则是可用状态;如果是inact则是不可用状态。

第四列NODES是节点数。

第五列STATE是节点状态,idle是空闲节点,alloc是已被占用节点,comp是正在释放资源的节点,其他状态的节点都不可用,mix是该节点有作业在运行或有程序占用cpu导致的。

第六列NODELIST是节点列表。

sinfo的常用命令选项:

命令示例

功能

sinfo-ngpu001

指定显示节点gpu001的使用情况

sinfo-pdebug

指定显示队列debug情况

其他选项可以通过sinfo--help查询。

squeue得到的结果是当前账号正在运行作业的状态,如果squeue没有作业信息,说明作业已退出。

第一列JOBID是作业号,作业号是唯一的。

第二列PARTITION是作业运行使用的队列名。

第三列NAME是作业名。

第四列USER是超算账号名。

第五列ST是作业状态,R表示正常运行,PD表示在排队,CG表示正在退出,S是管理员暂时挂起,只有R状态会计费。

第七列NODES是作业使用的节点数。

第八列NODELIST(REASON)对于运行作业(R状态)显示作业使用的节点列表;对于排队作业(PD状态),显示排队的原因。

squeue的常用命令选项:

squeue-j396

查看作业号为396的作业信息

squeue-ugliu

查看集群账号为gliu的作业信息

squeue-pdebug

查看提交到debug队列的作业信息

squeue-wgpu001

查看使用到gpu001节点的作业信息

其他选项可通过squeue--help命令查看。

srun[options]program命令属于交互式提交作业,有屏幕输出,但容易受网络波动影响,断网或关闭窗口会导致作业中断。

srun命令示例:

srun-pdebug-wgk[11-15]-N2-n12-t20--gres=gpu:2my_job.sh

-pdebug指定提交作业到debug队列;

-wgk[11-15]指定使用节点gk[11-15];

-N2指定使用2个节点;

-n12指定运行的任务数为12,默认情况下一个CPU核一个任务

--gres申请其他通用资源,例如GPU卡等。参数的值为:“gpu:2”表明需要申请2块GPU显卡资源。

注意:

提交作业时不显式指定显卡资源,默认情况下不能使用显卡进行计算。即忽略–gres参数,作业只能使用CPU计算资源。

Srun的一些常用命令选项:

参数选项

-N3

指定节点数为3

-n12

指定任务数为12,默认一个CPU核一个任务

-pdebug

指定提交作业到debug队列

-wgk[11-15]

指定提交作业到gk11/gk12/gk13/gk14/gk15节点

-xgm[11-12]

排除gm11、gm12节点

-oout.log

指定标准输出到out.log文件

-eerr.log

指定重定向错误输出到err.log文件

-JJOBNAME

指定作业名为JOBNAME

-t20

限制运行20分钟

--gres=gpu:2

为作业分配2块GPU显卡资源(最大值为8)

srun的其他选项可通过srun--help查看。

sbatch一般情况下与srun一起提交作业到后台运行,需要将srun写到脚本中,再用sbatch提交脚本。这种方式不受本地网络波动影响,提交作业后可以关闭本地电脑。sbatch命令没有屏幕输出,默认输出日志为提交目录下的slurm-xxx.out文件,可以使用tail-fslurm-xxx.out实时查看日志,其中xxx为作业号。

*可通过module来加载运行环境如

moduleloadgcccuda

示例1、单节点(20核)

#!/bin/bash

#SBATCH--job-name=test#作业名

#SBATCH--partition=gpu#cpu队列

#SBATCH-n20#总核数20

#SBATCH--ntasks-per-node=20#每节点核数

#SBATCH--output=%j.out

#SBATCH--error=%j.err

示例2:单节点GPU

#SBATCH--job-name=dgx2_test

#SBATCH--partition=dgx2

#SBATCH--gres=gpu:4

#SBATCH-n4

#SBATCH--ntasks-per-node4

#SBATCH--mail-type=end

#SBATCH--mail-user=YOU@EMAIL.COM

./cudaTensorCoreGemm

示例3:MPI多节点并行

#SBATCH-ojob.%j.out

#SBATCH--partition=C032M0128G

#SBATCH--qos=low

#SBATCH-JmyFirstMPIJob

#SBATCH--nodes=2

#SBATCH--ntasks-per-node=32

#SBATCH--time=120:00:00

moduleloadintel/2017.1

moduleloadvasp/5.4.4-intel-2017.1

srunhostname-s|sort-n>slurm.hosts

mpirun-n64-machinefileslurm.hostsvasp_std>log

示例4(一次提交多任务)

编写脚本job3.sh,内容如下:

srun-n8A.exe&

srun-n8B.exe&

srun-n8C.exe&

wait

然后在命令行执行sbatch-N1-pdebugjob3.sh,这里是单节点同时提交3个任务,每个任务使用8个进程。这里“wait”需要3个任务全部执行完毕,作业才会退出。

sbatch的一些常用命令选项基本与srun的相同,具体可以通过sbatch--help查看。

与srun一样,若作业需要使用GPU显卡资源,需要在sbatch脚本中或在sbatch的命令行的参数中使用--gres=gpu:n(n为显卡数量)

salloc命令用于申请节点资源,一般用法如下:

1、执行salloc-pdebug;

2、执行squeue查看分配到的节点资源,比如分配到gj16;

3、执行sshgj16登陆到所分配的节点;

4、登陆节点后可以执行需要的提交命令或程序;

5、作业结束后,执行scancelJOBID释放分配模式作业的节点资源。

6、scancel取消已提交的作业

scancel可以取消正在运行或排队的作业。

scancel的一些常用命令示例:

scancel343

取消作业号为343的作业

scancel-ntest

取消作业名为test的作业

scancel-pdebug

取消提交到debug队列的作业

scancel-tPENDING

取消正在排队的作业

scancel-wgpu001

取消运行在gpu001节点上的作业

scancel的其他参数选项,可通过scancel--help查看。

scontrol命令可以查看正在运行的作业详情,比如提交目录、提交脚本、使用核数情况等,对已退出的作业无效。

THE END
1.查看Linux下系统资源占用常用命令linux怎么查看进程资源使用情况free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。 #free -b -s5 使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。 https://blog.csdn.net/ljlstart/article/details/51711468
2.Linux中查看系统资源占用情况的命令瘋耔Linux中查看系统资源占用情况的命令 用'top -i' 看看有多少进程处于 Running 状态,可能系统存在内存或 I/O 瓶颈,用 free 看看系统内存使用情况,swap 是否被占用很多,用 iostat 看看 I/O 负载情况 还有一种办法是 ps -ef | sort -k7 ,将进程按运行时间排序,看哪个进程消耗的cpu时间最多。https://www.cnblogs.com/Ph-one/p/10935694.html
3.Linux查看内存使用情况方法1. top命令: 输入命令: top 输出内容展示: 内容分析: PID:进程的ID USER:进程所有者 PR:进程的优先级别,越小越优先被执行 NI:https://www.jianshu.com/p/e9e0ce23a152
4.查看Linux下系统资源占用常用命令(topfreeuptime)free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。 #free -b -s5 使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。 https://www.jb51.net/LINUXjishu/95640.html
5.如何查看服务器的CPU和内存占用情况?在linux服务器上,可以使用top命令查看cpu和内存的使用情况。该命令会显示一个实时更新的系统资源使用概览,包括各个进程的cpu和内存占用率。 在服务器管理和运维过程中,监控CPU和内存的使用情况是至关重要的,这不仅有助于优化系统性能,还能及时发现和解决潜在的资源瓶颈问题,以下是一些常用的命令和方法来查看服务器上的https://www.kdun.com/ask/1281819.html
6.查看Linux下系统资源占用常用命令另外,在linux下查看系统资源的占用情况,还有二个命令,它们分别是:vmstat 与 iostat 。有兴趣的朋友,也可以研究下。 经验总结: 以上就是系统大全给大家介绍的如何使的方法都有一定的了解了吧,好了,如果大家还想了解更多的资讯,那就赶紧点击系统大全官网吧。https://m.xpwin7.com/jiaocheng/388.html
7.centos7查看资源占用情况命令Linux 查看端口占用情况 Linux 查看端口占用情况可以使用 lsof 和 netstat 命令。 lsof lsof(list open files)是一个列出当前系统打开文件的工具。 lsof 查看端口占用语法格式: lsof -i:端口号 实例 查看服务器 8000 端口的占用情况: # lsof -i:8000COM https://www.pianshen.com/article/8279825399/
8.CentOS进程资源占用高起因分析命令详解2. 检查进程资源使用情况:使用top命令监控当前系统的进程资源使用情况,例如CPU使用率、内存使用情况等。https://ask.zol.com.cn/x/25048311.html
9.androidadb命令清除数据mob6454cc71b244的技术博客11. 刷机相关命令 11.1 重启到 Recovery 模式 11.2 从 Recovery 重启到 Android 11.3 重启到 Fastboot 模式 11.4 通过 sideload 更新系统 12. 安全相关命令 12.1 启用/禁用 SELinux 12.2 启用/禁用 dm_verity 13. 进程资源查看 13.1 查看进程 13.2 查看实时资源占用情况 https://blog.51cto.com/u_16099279/12219240
10.linux命令查看资源使用率?Worktile社区通过在终端中输入top命令,可以实时查看系统中各个进程的CPU占用率、内存占用率等信息。在top命令的输出结果中,可以按下键盘上的数字键1来查看每个CPU核心的使用情况。 2. vmstat命令vmstat命令可以提供关于系统内存、虚拟内存、磁盘IO、交换空间等方面的详细统计信息。它能够实时显示当前系统的资源使用情况,如内存的使用https://worktile.com/kb/ask/464923.html
11.linux怎么查看系统资源占用情况问答在Linux系统中,可以使用一些命令来查看系统资源的占用情况,常用的命令包括:1. top命令:top命令可以实时显示系统中各个进程的资源占用情况,包括CPU占用率、内存占用情况、进程数量等。在终https://www.yisu.com/ask/64754589.html
12.实例降检查达梦技术文档更多动态性能视图 V$BUFFERPOOL 字段详解请参考数据库安装目录的 doc 下《DM8 系统管理员手册》。 6.3 内存池 通过SQL 命令查询动态性能视图 V$MEM_POOL 可以查看内存结构地址、是否是共享内存池、初始大小、当前总大小、数据占用大小等内存池信息。 select * from V$MEM_POOL; 更多动态性能视图 V$MEM_POOL 字段https://eco.dameng.com/document/dm/zh-cn/ops/check-instance.html
13.字节上岸成功,整理一波测试开发岗的基础知识,含答案a) Python提供了对内存的垃圾收集机制,但是它将不用的内存放到内存池而不是返回给操作系统。 b) Python中所有小于256个字节的对象都使用pymalloc实现的分配器,而大的对象则使用系统的 malloc。另外Python对象,如整数,浮点数和List,都有其独立的私有内存池,对象间不共享他们的内存池。也就是说如果你分配又释放了大https://maimai.cn/article/detail?fid=1679089730&efid=YLyF0ejo0qEtjVB1UUE-yw
14.Centos系统服务器快速查看CPU进程占用及内存资源过多的进程Centos系统如何查看CPU进程占用及内存资源占用情况?对于linux系统操作一般使用命令居多,下面分享一下Centos快速查看占用资源最多的进程的命令,有些时候还是非常有用的,特别是在于网站访问缓慢等情况下,在排除线路问题之外,可以看看是不是CPU、内存等资源不足了,可以了解哪些进行占用大量的资源等。 https://www.idc1680.com/914.html
15.使用dockerstats命令查看Docker显示容器资源使用情况docker stats命令可以显示容器资源使用情况,统计实时信息。若要将数据限制为一个或多个特定容器,使用空格分隔容器ID。也可以指定一个已停止的容器,但停止的容器不返回任何数据。 使用方法 直接输入docker stats即可显示所有运行中容器的资源使用情况,会看到类似如下截图信息。 https://cloud.tencent.com/developer/article/2071999
16.云主机ECS云主机带宽CPU内存占用过高云主机ECS常见问题1.1、Linux下使用iftop工具查看带宽资源状况 a)在服务器内部安装 iftop 流量监控工具。命令:yum install iftop -y 注意:服务器外网带宽被占满时,如果通过远程无法登录,可通过移动云自服务门户云主机控制台界面VNC按钮进入到服务器内部 b)查看流量占用情况:命令:iftop -I eth1 -P https://ecloud.10086.cn/op-help-center/doc/article/23818
17.Linux查看资源使用情况和性能调优常用的命令du命令 前言 一般来说,Linux性能调优涉及CPU、内存和 IO,包括进程、线程、程序堆栈、内存、Swap、CPU调度、内存调度、网络连接和IO读写等。 本文介绍了Linux查看资源使用情况和性能调优常用的命令,包括top、htop、ps、free、vmstat、iostat、netstat、df和du命令。 https://m.elecfans.com/article/1378324.html
18.在Linux中,如何查看系统资源使用情况?简介:在Linux中,如何查看系统资源使用情况? 在Linux系统中,查看系统资源使用情况是一项常见的任务,可以通过多种命令完成。以下是一些主要的命令和它们的功能: 1. 查看内存使用情况 (free命令) 基本用法: free -h 这个命令显示内存(包括物理内存和交换空间)的总用量、已用量、空闲量等信息。-h选项使得输出以人类可读https://developer.aliyun.com/article/1593892