系统使用Slurm功课措置系统,给与分享模式。为幸免系统资源损失,使用时请尽量保证满核提交(即为单节点核数的整数倍)痴汉十人队,不要在登录节点径直运行想到次序。功课措置系统常用呐喊如下:
sinfo:败露系统资源使用情况 squeue:败露功课情景 srun:用于交互式功课提交 sbatch:用于批处理功课提交 salloc:用于分派模式功课提交 scancel:用于取消已提交的功课 scontrol:用于查询节点信息或正在运行的功课信息 sacct:用于检察历史功课信息 2 sinfo检察系统资源sinfo取得的成果是现时账号可使用的部队资源信息,如下所示:
第一列PARTITION是部队名。 第二列AVAIL是部队可用情况,若是败露up则是可用情景;若是是inact则是不行用情景。 第三列TIMELIMIT是功课运行时刻终了,默许是infinite莫得终了。 第四列NODES是节点数。 第五列STATE是节点情景,idle是幽闲节点,alloc是已被占用节点,comp是正在开释资源的节点,其他情景的节点都不行用。 第六列NODELIST是节点列表。sinfo的常用呐喊选项:
sinfo -n comput1 指定败露节点comput1的使用情况 sinfo -p com 指定败露部队com情况其他选项不错通过sinfo --help查询
3 squeue检察功课情景squeue取得的成果是现时账号的功课运奇迹态,若是squeue莫得功课信息,评释功课已退出。
第一列JOBID是功课号,功课号是独一的。 第二列PARTITION是功课运期骗用的部队名。 第三列NAME是功课名。 第四列USER是超算账号名。 第五列ST是功课情景,R暗意平素运行,PD暗意在列队,CG暗意正在退出,S是措置员暂时挂起。 第六列TIME是功课运行时刻。 第七列NODES是功课使用的节点数。 第八列NODELIST(REASON) 关于运行功课(R情景)败露功课使用的节点列表;关于列队功课(PD情景),败露列队的原因。squeue的 常用呐喊选项:
queue -j 123456 检察功课号为123456的功课信息 squeue -u paratera 检察超算账号为 paratera的功课信息 squeue –p com 检察提交到com部队的功课信息 squeue -w comput1 检察使用到comput1节点的功课信息其他选项可通过squeue --help呐喊检察。
色电影 4 srun交互式提交功课srun [options] program呐喊属于交互式提交功课,有屏幕输出,但容易受收集波动影响,断网或关闭窗口会导致功课中断。srun 呐喊示例:
srun -p com -w comput[1-2] -N 2 -n 40 -t 20 A.exe交互式提交A.exe次序。若是不存眷节点和时刻终了,可简写为srun -N 2 -n 40 A.exe
-p com指定提交功课到com部队; -w comput[1-2] 指定使用节点comput[1-2]; -N 2 指定使用2个节点; -n 40 指定程度数为40; -t 20 指定功课运行时刻终了为20分钟。srun 的一些常用呐喊选项:
-N 3 指定节点数为3 -n 20 指定程度数为20 -c 20 指定每个程度(任务)使用的CPU核为20 -p com 指定提交功课到com 部队 -w comput[1-2] 指定提交功课到comput1、comput2节点 -x comput[1-2] 扼杀comput1、comput2节点 -o out.log 指定尺度输出到out.log文献 -e err.log 指定重定向迤逦输出到err.log文献 -J JOBNAME 指定功课名为JOBNAME -t 20 终了运行20分钟srun的其他选项可通过srun --help检察。
5 sbatch后台提交功课sbatch一般情况下与srun一皆提交功课到后台,需要将srun写到剧本中,再用sbatch 提交剧本。这种方式不受土产货收集波动影响,提交功课后不错关闭土产货电脑。sbatch呐喊莫得屏幕输出,默许输出日记为提交目次下的slurm-xxx.out文献,不错使用tail -f slurm-xxx.out及时检察日记,其中xxx为功课号。sbatch呐喊示例1(40个程度提交A.exe次序):编写剧本job1.sh,践诺如下:
#!/bin/bash srun -n 40 A.exe然后在呐喊行践诺sbatch -p com job1.sh 提交功课。剧本中的#!/bin/bash是bash剧本的固定花样。从剧本的神色不错看出,提交剧本是一个shell剧本,因此常用的shell剧本语法都不错使用。功课启动运行后,在提交目次会生成一个slurm-xxx.out日记文献,其中xxx暗意功课号。sbatch呐喊示例2(指定2个节点,4个程度,每个程度10个cpu核提交A.exe次序,终了运行60分钟):编写剧本job2.sh,践诺如下:
#!/bin/bash #SBATCH -N 2 #SBATCH -n 4 #SBATCH -c 20 #SBATCH -t 60 srun -n 4 A.exe然后在呐喊行践诺sbatch -p com job2.sh就不错提交功课。其中#SBATCH疑望行是slurm界说的功课践诺方式评释,一些需要通过呐喊行指定的开采不错通过这些评释写在剧本里,幸免了每次提交功课写很长的呐喊行。sbatch呐喊示例3(单节点提交多任务)编写剧本job3.sh,践诺如下:
#!/bin/bash srun -n 5 A.exe undefined srun -n 5 B.exe undefined srun -n 5 C.exe undefined srun -n 5 C.exe undefined wait然后在呐喊行践诺sbatch -N 1 -p com job3.sh,这里是单节点同期提交4个任务,每个任务使用5个程度。这里需要5个任务全部践诺罢了,功课才会退出。sbatch 的一些常用呐喊选项基本与srun的换取,具体不错通过sbatch --help检察。
6 salloc分派模式功课提交salloc呐喊用于肯求节点资源,一般用法如下:
1、践诺salloc -p com; 2、践诺squeue 检察分派到的节点资源,比如分派到n001; 3、践诺ssh comput1登陆到所分派的节点; 4、登陆节点后不错践诺需要的提交呐喊或次序; 5、功课终了后,践诺scancel JOBID开释分派模式功课的节点资源。 7 scancel取消已提交的功课scancel 不错取消正在运行或列队的功课。scancel的一些常用呐喊示例:
scancel 123456 取消功课号为123456的功课 scancel -n test 取消功课名为test的功课 scancel -p com 取消提交到com部队的功课 scancel -t PENDING 取消正在列队的功课 scancel -w comput1 取消运行在comput1节点上的功课scancel的其他参数选项,可通过scancel --help检察
8 scontrol检察正在运行的功课信息scontrol呐喊不错检察正在运行的功课确定,比如提交目次、提交剧本、使用核数情况等,对已退出的功课无效。scontrol的常用示例:
scontrol show job 123456检察功课号为123456的功课确定。scontrol 的其他参数选项,可通过scontrol --help检察。
9 sacct检察历史功课信息sacct呐喊不错检察历史功课的起止时刻、终了情景、功课号、功课名、使用的节点数、节点列表、运行时刻等。sacct的常用呐喊示例:
sacct -u paratera -S 2018-07-01 -E now --field=jobid,partition,jobname,user,nnodes,nodelist,start,end,elapsed,state其中,-u paratera是指检察paratera账号的历史功课,-S是启动查询时刻,-E是截止查询时刻,--format界说了输出的花样,jobid是指功课号,partition是指提交部队,user是指超算账号名,nnodes是节点数,nodelist是节点列表,start是启动运行时刻,end是功课退出时刻,elapsed是运行时刻,state是功课终了情景。sacct --helpformat不错检察救济的输出花样。sacct的其他参数选项可通过sacct --help检察。
10 功课模版 #!/bin/bash #SBATCH -p com 指定部队称号 #SBATCH -J test 指定功课称号 #SBATCH -N 2 指定要提交的节点数目 #SBATCH -n 8 指定要提交的总核数 #SBATCH -o test.o 指定尺度输出文献名 #SBATCH -e test.e 指定迤逦输出文献名 srun -N 2 -n 8 -p com hostname 次序运行呐喊 11 Linux 常用呐喊date :败露或开采系统时刻
ls :列出现时或指定目次下的文献或目次。
pwd: 败露现时目次
cd : 参加指定目次
more, less, head tail: 败露或部分败露文献践诺.
lp/lpstat/cancel, lpr/lpq/lprm: 打印文献的相关呐喊.
chmod:鼎新文献读、写或践诺权限
rm :删除文献或目次
cp:拷贝文献或目次
mv : 文献改名或移动
vi/vim:文本裁剪器
top : 检察系统永劫刻运行的主要程度
fg jobid :不错将一个后台程度放到前台。Ctrl-z 不错将前台程度挂起(suspend), 然后不错用 bg jobid 让其到后台运行。 job undefined 不错径直让 job 径直在后台运行。
ps:检察系统程度, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中 session 败露的 sessionid, tpgid 败露前台程度组 id, comm 败露呐喊称号。)
kill : 杀掉一个指定程度号的程度或向系统发送一个信号。
scp: 辛苦文献拷贝。
man :给出指定呐喊的细心使用评释。
Linux 的绝大部分呐喊都不错用man呐喊来检察更细心的评释。
12 官网手册https://slurm.schedmd.com/documentation.html痴汉十人队