Linux集群使用命令

Linux集群使用命令,第1张

存储NAS 文件 *** 作

df -h查看空间使用情况

警惕超大 nohup.out

任务提交

任务提交前

qhost--查看集群负载状态

qsub / qsub-sge.pl--提交任务

qstat--查看任务状态

qdel / qmod--任务控制

任务查看

qhost -j---列出所有用户在每个节点上的任务

qhost -q---列出每个节点上每个队列的任务数

qhost -u username---列出某个用户在每个节点上的任务

提交命令

qsub -cwd -q queue.q test.sh

qsub-sge.pl --maxproc 50 --resource vf=5G --queue queue.q test.sh

任务查看2

qstat -u username---查看某个用户的任务

qstat -u *,---查看所有用户的任务

qstat –j jobs_ID---查看某个任务的详细信息

查看.e和.o文件

.e:错误信息

.o:标准输出

任务控制

qdel jobID---删除某个任务

qdel -u username---删除某个用户的所有任务

qmod -s jobID--挂起某个任务

qmod -us jobID---继续运行某个挂起的任务

按任务占用内存大小选择相应的队列

查看队列 qstat -g c

QUEUE

PE.q--并行

cloud.q--云平台

general.q--96G节点

middle.q--96G节点

great.q--大内存节点

plus.q--大内存节点

single.q--Trinity组装

single._p.q---Trinity组装(占用内存较大)

TOP监视

编辑于 2017-04-21

产生日志:

sh **.sh &>xx.log

不产生日志:

sh **.sh >/dev/null 2>&1 &

nohup:no hang up 的缩写,就是不挂断的意思 。 

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。 该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。 在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。

使用权限:所有使用者

语法格式

nohup Command [ Arg … ] [ &]

参数说明:

Command :要执行的命令。

Arg :一些参数,可以指定输出文件。

&:让命令在后台执行,终端退出后命令仍旧执行。

实例

以下命令在后台执行 root 目录下的 runoob.sh 脚本:

nohup /root/runoob.sh &

在终端如果看到以下输出说明运行成功:

appending output to nohup.out

这时我们打开 root 目录 可以看到生成了 nohup.out 文件。

如果要停止运行,你需要使用以下命令查找到 nohup 运行脚本到 PID,然后使用 kill 命令来删除:

ps -aux | grep "runoob.sh"

参数说明:

a  : 显示所有程序

u  : 以用户为主的格式来显示

x  : 显示所有程序,不区分终端机

另外也可以使用 ps -def | grep "runoob.sh" 命令来查找。

找到 PID 后,就可以使用 kill PID 来删除。

kill -9  进程号PID

以下命令在后台执行 root 目录下的 runoob.sh 脚本,并重定向输入到 runoob.log 文件:

nohup /root/runoob.sh >runoob.log 2>&1 &

2>&1  解释:将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 runoob.log 文件中。

0 – stdin (standard input,标准输入)

1 – stdout (standard output,标准输出)

2 – stderr (standard error,标准错误输出)

实时监测日志输出内容命令:tail

tail 命令是nohup命令的好搭档。配合-f参数,可以实时监视向日志文件增加的信息。

tail -f myout.log

tail -f 等同于–follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止

tail -F 等同于–follow=name --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪

tailf 等同于tail -f -n 10,与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电。

监测程序是否在正常运行中:ps

ps命令也可以和nohup命令配合使用,用于显示当前进程 (process) 的状态。可以监视后台程序是否在正常运行中或者已经挂掉。

ps -ef|grep yourcommand           # -ef 参数显示所有命令,连带启动时的命令行参数

qsub命令用来从登陆节点上向计算节点进行任务投递。前提是在服务器上有集群管理工具分配计算节点等。SGE(SGE, Sun Grid Engine)集群管理工具可以用来提交批处理作业,SGE支持单或多节点作业,它将用户投递的任务进行排队,然后将任务交给能够运行的结算节点执行,工作流程可以分为四步:接受用户投放的任务;在任务运行以前,将任务放到一个存储区域;发送任务到一个执行设备,并监控任务的运行;运行结束写回结果并记录运行日志。

qsub [ options ] [ command | -- [ command_args ]]

1. -@ optionfile (contains all valid options)  就是把qsub命令的可选项组合成一定功能的语句,保存在一个文件中。  qsub -a optionfilename jobfilename  

2. -a date_time   设置作业什么时候可以执行。   格式:CC YY MMDDHHMM.SS 如 201109272213.21   qsub -a 201109272213.21 ../simplejob

3. -A account_string  Identifies the account to which the resource consumption of the job should be charged   设置一个作业的账户名,便于统计该账户使用的资源等信息    qsub -A testaccountname jobname  

4. -ac 添加名/值对到作业上下文   -dc 删除。。   -sc 设置(修改)。。   Contexts provide a way to dynamically attach and remove meta-     information to and from a job. The context variables are not     passed to the job's execution context in its environment     The outcome of the evaluation of all -ac, -dc, and -sc options     or corresponding values in qmon is passed to defined JSV     instances as parameter with the name -ac.  

5. -ar ar_id 分配已提交作业,作为它的一部分,给已存在预约。ar=advance reservation   qsub -ar 60 jobname   #ai_di = unsigned integer   

6.  -b y[es]|n[o]      Gives the user the possibility to indicate explicitly whether       command should be treated as binary or script.     

7. -binding 等待理解

8.  -c occasion_specifier(际符)  定义或者重定义作业是否要被检查,if是,在什么环境下。        n           no checkpoint is performed.               s           checkpoint when batch server is shut down.               m           checkpoint at minimum CPU interval.               x           checkpoint when job gets suspended.               <interval>  checkpoint in the specified time interval.   qsub -c n jobname

9. -C prefix_string 前缀字符串定义一个在作业命令中的指令     qsub -C "#$" ../simplejob   

10.  -ckpt ckpt_name 选择检查点环境来检查一个作业,同时声明这个作业是检查点作业。      qsub -ckpt allanckpt ../simplejob    

11.  -clear 重置作业的所有元素为初始默认状态    qsub -clear ../simplejob   

12.  -cwd =current working directory  从当前的目录开始执行作业。如果有相应的配置文件的话,    这个命令将启动网格引擎的路径别名设备。    

13.  -dl date_time 设置作业在deadline之前执行完,格式为CC YYU MMDDHHMM.SS    qsub -dl 201101131159.01 ../simplejob

14.  -e [[hostname]:]path,...定义或重新定义作业的标准错误流使用的路径 e=stderror

15.  -h | -h {u|s|o|n|U|O|S}... h=hold 暂停作业执行       'u' .........user hold.             `s'  denotes a system hold.               `o'  denotes a operator hold.               `n'  denotes no hold (requires manager privileges).               `U'  removes a user hold.               `S'  removes a system hold.               `O'  removes a operator hold.        qsub -h ../simplejob(qsub只能使用-h)

16.  -l resource=value,... l=launch 启动满足资源需求的作业    Launch the job in a Grid Engine queue meeting the given resource               request list.  In case of qalter the previous definition is               replaced by the specified one.    qsub -l s_core=5 ../simplejob

17.  -q wc_queue_list 定义或重定义可能用来执行作业的队列,包括群聚队列、队列域、队列实例。    qsub -q all.q ../simplejob

18.  -hard  表示该作业在安排执行之前,作业的资源需求必须满足。    qsub -hard  ../simplejob

19.  -soft 表示该作业在安排执行之前,作业的资料需求可以有、但不必须有。    qsub -soft ../simplejob

20.  -help 获取帮助    qsub -help

21.  -hold_jid   wc_job_listt 定义或重定义当前提交的作业对哪些作业有依赖,所依赖的作业使用通配符作业清单表示:wc_job_list    qsub -hold_jid 63926 ../simplejob

22.  -hold_jid_ad wc_job_list ad=array dependency list of the submitted job    定义或者重定义组作业依赖列表。    qsub -hold_jid_ad 1-1200

23.  -t n[-m[:s]]    指定组作业的数量,将指示器与作业关联    qsub -t 1-1200 ../simplejob

24.  -i [[hostname]:]file,... 定义或重定义一个文件为作业的标准输入流    qsub -i stdin job

25.  -j y[es]|n[o] 指定作业的标准错误流是否合并到标准输出流,如果-j y 和-e都存在的话,SGE将忽略后者。    qsub -j y ../simplejob

qstat -f# 查看用户任务

qstat -j jobId  # 按任务id查看

qstat -explain a|c|A|E -j jobID # 查看任务任务并给出解释

qstat -u user  # 按用户查看

qw: 表示等待状态

hqw: 任务挂起等待中,待依赖的任务完成后执行

Eqw: 投递任务出错

r: 表示任务正在运行

s: 暂时挂起

dr: 节点挂了之后,删除任务就会出现这个状态,只有节点重启之后,任务才会消失

qdel -j 1111  删除任务号为1111的任务

qdel -u AAA  删除AAA投递的所有任务

欢迎大家交流心得~~~3QU!!!...........

---------------------------------------------------------------------------------------------------------I am a line !----------------------------------------------------------------------------------------------

写一个提交命令即可。

方法如下。

1、终端输入qsub。

2、然后写一个测试脚本,跑跑看。

3、提示任务上交了,但是等了半天没反应这时候可以用qstat来看命令运行情况,是由于代码太过简单,自然你还没看到就跑完了。

用户通过qsub命令来向系统提交任务,有两种方式提交:脚本方式和命令行方式。(一般情况下,不允许root用户使用qsub命令提交作业)。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7249369.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存