(四)SGE 常用命令

目录

(一)节点概念

(二)用户信息

(三)主机信息

1 主机组

2 队列

3 队列权限

四 qstat

1 qstat的常用参数

2 查看可用节点 qselect

3 节点状态E

五 qhold

六 qalter

七 qdel


(一)节点概念

  • 主控节点:主控节点是所有集群活动的中心,控制SGE系统组件。一般情况,主控节点也是管理节点和提交节点。
  • 执行节点:执行节点有权限执行作业的系统,执行节点有附加到它上面的队列。
  • 管理节点:管理节点有权运行SGE系统的任何类型的管理操作。
  • 提交节点:提交节点只允许用户提交和控制批处理作业。具体说,用户登陆后,可以使用qsub命令提交作业,使用qstat命令监控作业状态。

  在SGE中,队列就是存放能在某一节点上运行的所有任务的容器。一个队列从某种方面也决定了所含任务的属性。

  • 队列存在的本质:为任务提供服务。
  • 队列存在的意义:(由于SGE允许同时运行多个任务,为了优化资源利用)系统会试着最小负荷的合适队列开始新的任务。

(二)用户信息

管理人员:管理人员拥有完全操作SGE系统的能力。默认情况,管理主机的超级用户都具有管理人员权限。

显示管理人员  qconf -sm

[root@qmaster ~]# qconf -sm
root
sgeadmin

添加管理人员  qconf -am test01

[root@qmaster ~]# qconf -am test01
root@qmaster.local added "test01" to manager list
[root@qmaster ~]# qconf -sm
root
sgeadmin
test01

删除管理人员  qconf -dm test01

[root@qmaster ~]# qconf -dm test01
root@qmaster.local removed "test01" from manager list
[root@qmaster ~]# qconf -sm
root
sgeadmin

  操作员:操作员可以执行很多管理人员命令,不能配置更改。

显示操作人员  qconf -so

[root@qmaster ~]# qconf -so
sgeadmin

添加操作人员  qconf -ao test01

[root@qmaster ~]# qconf -ao test01
root@qmaster.local added "test01" to operator list
[root@qmaster ~]# qconf -so
sgeadmin
test01

删除操作人员  qconf -do test01

[root@qmaster ~]# qconf -do test01
root@qmaster.local removed "test01" from operator list
[root@qmaster ~]# qconf -so
sgeadmin

拥有者:队列拥有者可以暂停或者启动其拥有的队列,还可以暂停或启动其拥有的队列中的作业。队列拥有者没有其他管理权限。

用户:用户有一定的访问权限。

添加用户组

[root@qmaster ~]# qconf -au  test01,test02,test03 new_usergroup
added "test01" to access list "new_usergroup"
added "test02" to access list "new_usergroup"
added "test03" to access list "new_usergroup"

显示所有用户的列表 qconf -suserl

[root@qmaster ~]# qconf -suserl
test01
test02
test03

(三)主机信息

[root@qmaster ~]# qhost
HOSTNAME                ARCH         NCPU NSOC NCOR NTHR  LOAD  MEMTOT  MEMUSE  SWAPTO  SWAPUS
----------------------------------------------------------------------------------------------
global                  -               -    -    -    -     -       -       -       -       -
compute01               lx-amd64       32    4   32   32  0.01    3.7G 1023.8M    3.0G     0.0
qmaster                 lx-amd64       32    4   32   32  0.01    3.7G    1.1G    3.0G   12.0K

1 主机组

添加主机组

[root@qmaster ~]# qconf -ahgrp @new_hostgroup
root@qmaster.local added "@new_hostgroup" to host group list

添加主机到主机组

[root@qmaster ~]# qconf -mhgrp @new_hostgroup
root@qmaster.local modified "@new_hostgroup" in host group list

[root@qmaster ~]# qconf -shgrp @new_hostgroup
group_name @new_hostgroup
hostlist qmaster.local compute01.local

2 队列

添加队列

[root@qmaster ~]# qconf -aq new_queues
root@qmaster.local added "new_queues" to cluster queue list

添加主机组到队列

[root@qmaster ~]# qconf -mq new_queues
root@qmaster.local modified "new_queues" in cluster queue list


hostlist              @new_hostgroup

[root@qmaster ~]# qconf -shgrp @new_hostgroup
group_name @new_hostgroup
hostlist qmaster.local compute01.local

3 队列权限

在SGE集群中每个队列会对应有一个用户表,用户表名称与队列名前缀一致。例如test.q队列的用户表为test。如果一个用户要拥有test.q队列投递权限,则需要把此用户加入test用户表即可。

qconf -mu  new_usergroup

name    new_usergroup
type    ACL
fshare  0
oticket 0
entries test01,test02,test03

配置用户在集群中可同时运行的任务线程数 为了避免用户在SGE中过多的占用集群资源,默认会给SGE用户同时运行线程的数量限制为20。

qconf -mrqs  此处需要进行查询线程数限制的配置格式

调整队列对服务器的使用限制

qconf -mq new_queues

显示“执行主机”列表

[root@qmaster ~]# qconf -sel
compute01.local
qmaster.local
[root@qmaster ~]#

显示“管理主机”列表

[root@qmaster ~]# qconf -sh
compute01.local
qmaster.local

显示“提交任务主机”列表

[root@qmaster ~]# qconf -ss
compute01.local
qmaster.local

显示“集群队列”列表

[root@qmaster ~]# qconf -sql
all.q
new_queue
new_queues
super
super.q

qconf -spl 显示“集群并行环境”列表

[root@qmaster ~]# qconf -spl
make
mpi
smp

(四)qstat

qstat是一个非常有用的任务查询命令。  

  • prior 代表任务的优先级,数值越高越优先
  • name 为任务名称(这里为test)
  • slots ja-task-ID 线程数(这里为 1 )
[root@qmaster ~]# qstat -u \*
job-ID  prior   name       user         state submit/start at     queue                          slots ja-task-ID
-----------------------------------------------------------------------------------------------------------------
      1 0.55500 test02.csh test02       qw    05/27/2022 03:30:08                                    1
      6 0.55500 test02.csh test03       qw    05/27/2022 23:55:19                                    1
      7 0.00000 test02.csh test03       qw    05/27/2022 23:59:54                                    1
      8 0.00000 test02.csh test01       qw    05/28/2022 00:40:53                                    1
      9 0.00000 test02.csh test01       qw    05/28/2022 01:06:42                                    1
     10 0.00000 test02.csh test01       qw    05/28/2022 01:06:43                                    1
     11 0.00000 test02.csh test01       qw    05/28/2022 01:06:43                                    1

 

1 qstat的常用参数

  • qstat -f #查看用户任务
  • qstat -j jobId #按任务id查看 
  • qstat -u user #查看指定用户投递的任务

2 查看可用节点 qselect

qselect 的语法:

查看指定用于的可用队列节点:

[root@qmaster ~]# qselect -U test01
all.q@qmaster.local
all.q@compute01.local
new_queues@qmaster.local
new_queues@compute01.local

查看指定队列可用节点: 

[root@qmaster ~]# qselect -q new_queues
new_queues@qmaster.local
new_queues@compute01.local

3 节点状态E

当节点状态位E,需要重启sge计算服务:

/opt/sge/default/common/sgeexecd restart

再手动清除队列中的错误信息:

qmod -c all.q

(五) qhold

  • qhold 阻止已提交作业的执行
  • qhold 的语法:qhold jobid #任务挂起后,状态变为 hqw(任务挂起等待中,待依赖的任务完成后执行)
  • qrls 释放先前被阻止执行的作业
  • qrls 的语法:qrls jobid
  • qmod -s 暂停已经在运行的作业
  • qmod -s的语法:qmod -s jobid #任务挂起后,状态变为 s(暂时挂起)
  • qmod -us 启动暂停的作业 # qmod -us的语法:qmod -us jobid

  E是一个更糟糕的状态。这意味着计算节点(系统或作业本身)存在一个主要问题。SGE故意将队列标记为状态“ E”,以便其他作业不会遇到相同的严重问题。 即使重新启动群集,E状态也不会自动消失。一旦您认为集群很好,就可以使用“ qmod”命令清除E状态。  

  • qmod -c  queue_name  清除状态为E的错误,将某个队列从错误状态变回正行状态

注: qmod -s 和 qmod -us还可以用于暂停和启动队列,前提是拥有对应的队列管理权限。  

(六) qalter

qalter 语法:qalter [参数] 修改内容 jobid
常用参数:
-q :修改指定队列
-l :修改限制资源
-N :修改指定作业名称
-P :修改指定项目名称

(七) qdel

qdel常用的参数:
-f 强制删除
-u 删除指定用户的作业
 
qdel -f `qstat -u \*|grep -e dr -e dt|awk '{print $1}'`
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IForFree

整理不易,望多支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值