美文网首页
Rocks cluster7 的那些事——SGE相关

Rocks cluster7 的那些事——SGE相关

作者: real3721 | 来源:发表于2018-12-17 16:38 被阅读0次
  • 我相信每一个安装Rocks cluster的新手都有着一肚子的辛酸,踩过无数的坑。但网上有关Rocks cluster的中文参考资料的确并不丰富。我愿意将我所碰到的问题分享给大家,希望大家可以喜欢我的唠叨。
  • 与Rocks相关的安装和运维内容,我将不断更新出来,如有问题,可以给我留言

1. SGE的安装

  • Rocks cluster 7中SGE应该是伴随集群系统直接安装好的。
  • 其中各个节点的IP和名字需要在/etc/hosts中设置好,但请注意,不要在/etc/hosts里直接进行修改。
[XXX@XXXX ]$ cat /etc/hosts
# Added by rocks report host #
#        DO NOT MODIFY       #
#  Add any modifications to  #
#    /etc/hosts.local file   #
  • 修改应该在/etc/hosts.local这个文件中进行。

1. 任务的环境变量

  • 所投递任务的环境变量并不是投递用户的环境变量,如果需要使用用户的环境变量,需要在所投递的shell中加入上两行,如下:
    #!/bin/bash
    #$ -S /bin/bash
  • 或者在任务里直接用export指定相关的环境变量。(推荐使用,排除用户环境变量的差异

2. qsub加入-p参数任务竟然无法运行

  • 经常使用SGE任务管理系统的同学可能都知道-p 参数可以控制投递任务所申请的线程数。
  • 然而 qsub -cwd -l vf=20G -l p=5 -q all.q test.sh 永远qw,即使资源十分丰富。
[XXX@XXXX shell]$ qconf -sc
#name               shortcut   type      relop requestable consumable default  urgency
#--------------------------------------------------------------------------------------
arch                a          STRING    ==    YES         NO         NONE     0
calendar            c          STRING    ==    YES         NO         NONE     0
cpu                 cpu        DOUBLE    >=    YES         NO         0        0
display_win_gui     dwg        BOOL      ==    YES         NO         0        0
h_core              h_core     MEMORY    <=    YES         NO         0        0
h_cpu               h_cpu      TIME      <=    YES         NO         0:0:0    0
h_data              h_data     MEMORY    <=    YES         NO         0        0
h_fsize             h_fsize    MEMORY    <=    YES         NO         0        0
h_rss               h_rss      MEMORY    <=    YES         NO         0        0
h_rt                h_rt       TIME      <=    YES         NO         0:0:0    0
h_stack             h_stack    MEMORY    <=    YES         NO         0        0
h_vmem              h_vmem     MEMORY    <=    YES         NO         0        0
hostname            h          HOST      ==    YES         NO         NONE     0
load_avg            la         DOUBLE    >=    NO          NO         0        0
load_long           ll         DOUBLE    >=    NO          NO         0        0
load_medium         lm         DOUBLE    >=    NO          NO         0        0
load_short          ls         DOUBLE    >=    NO          NO         0        0
m_core              core       INT       <=    YES         NO         0        0
m_socket            socket     INT       <=    YES         NO         0        0
m_thread            thread     INT       <=    YES         NO         0        0
m_topology          topo       STRING    ==    YES         NO         NONE     0
m_topology_inuse    utopo      STRING    ==    YES         NO         NONE     0
mem_free            mf         MEMORY    <=    YES         NO         0        0
mem_total           mt         MEMORY    <=    YES         NO         0        0
mem_used            mu         MEMORY    >=    YES         NO         0        0
min_cpu_interval    mci        TIME      <=    NO          NO         0:0:0    0
np_load_avg         nla        DOUBLE    >=    NO          NO         0        0
np_load_long        nll        DOUBLE    >=    NO          NO         0        0
np_load_medium      nlm        DOUBLE    >=    NO          NO         0        0
np_load_short       nls        DOUBLE    >=    NO          NO         0        0
#num_proc            p          INT       <=    YES         NO         0        0
qname               q          STRING    ==    YES         NO         NONE     0
rerun               re         BOOL      ==    NO          NO         0        0
s_core              s_core     MEMORY    <=    YES         NO         0        0
s_cpu               s_cpu      TIME      <=    YES         NO         0:0:0    0
s_data              s_data     MEMORY    <=    YES         NO         0        0
s_fsize             s_fsize    MEMORY    <=    YES         NO         0        0
s_rss               s_rss      MEMORY    <=    YES         NO         0        0
s_rt                s_rt       TIME      <=    YES         NO         0:0:0    0
s_stack             s_stack    MEMORY    <=    YES         NO         0        0
s_vmem              s_vmem     MEMORY    <=    YES         NO         0        0
seq_no              seq        INT       ==    NO          NO         0        0
slots               s          INT       <=    YES         YES        1        1000
swap_free           sf         MEMORY    <=    YES         NO         0        0
swap_rate           sr         MEMORY    >=    YES         NO         0        0
swap_rsvd           srsv       MEMORY    >=    YES         NO         0        0
swap_total          st         MEMORY    <=    YES         NO         0        0
swap_used           su         MEMORY    >=    YES         NO         0        0
tmpdir              tmp        STRING    ==    NO          NO         NONE     0
virtual_free        vf         MEMORY    <=    YES         NO         0        0
virtual_total       vt         MEMORY    <=    YES         NO         0        0
virtual_used        vu         MEMORY    >=    YES         NO         0        0

  • 我们发现num_proc这行原本显示的是== (为方便显示我们加了#,这行没有#哈)
  • 要将num_proc这行由==改为<= 否则只有任务需求和机器总的总线程数目相等,任务才会被投递上去。

那么我们需要对它进行修改,修改命令为

qconf -mc
  • 如果你的任务长期处于qw的状态,那么建议你用如下命令来查明原因:
qalter -w v jobid
  • 可以查看任务为什么qw。

相关文章

网友评论

      本文标题:Rocks cluster7 的那些事——SGE相关

      本文链接:https://www.haomeiwen.com/subject/rvrckqtx.html