24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1472  |  回复: 17
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wuy069

铁杆木虫 (正式写手)

[求助] 请教:用Shell, awk, perl等语言实现监视SGE集群节点和任务

请教:用Shell, awk, perl等语言实现监视SGE集群节点和任务
简单的bash shell和awk语言会点,但弄个复杂的脚本,功底还是不够

下面的格式有点错位,我把相应的内容以附件粘贴了。

[wuy@cluster test]$ qhost -j
HOSTNAME                ARCH         NCPU  LOAD  MEMTOT  MEMUSE  SWAPTO  SWAPUS
-------------------------------------------------------------------------------
global                  -               -     -       -       -       -       -
compute-0-0             lx26-amd64      4  2.97    3.9G    3.5G    4.0G    2.9G
   job-ID  prior   name       user         state submit/start at     queue      master ja-task-ID
   ----------------------------------------------------------------------------------------------
         6 0.50500 test1.sh   wuy          r     12/09/2012 14:47:26 all.q@comp MASTER        
         7 0.60500 test4.sh   wuy          r     12/09/2012 14:47:26 all.q@comp MASTER        
                                                                     all.q@comp SLAVE         
                                                                     all.q@comp SLAVE         
compute-0-1             lx26-amd64      4  3.56    3.9G    3.8G    4.0G    3.1G
   job-ID  prior   name       user         state submit/start at     queue      master ja-task-ID
   ----------------------------------------------------------------------------------------------
         8 0.60500 test2.sh   tester       r     12/09/2012 14:48:52 all.q@comp MASTER        
                                                                     all.q@comp SLAVE         
                                                                     all.q@comp SLAVE
         9 0.60500 test3.sh   tester       r     12/09/2012 14:48:52 all.q@comp MASTER        
                                                                     all.q@comp SLAVE         
                                                                     all.q@comp SLAVE
在compute-0-0节点上有两个任务6和7,所用的cpu分别为1和2;在compute-0-1节点上有两个任务8和9,所用的cpu分别为2和2.
使用Shell, awk, perl等语言获得的命令脚本打印输出下面所示:
------------------------------------------------------------------------------------------------
  node          state   load    ncpu   mem   memuse   swapto  swapus  tasks  jobids/users     
------------------------------------------------------------------------------------------------
compute-0-0    free    2.97     4    3.9G   3.5G     4.0G    2.9G      3     6/wuy 7/wuy
compute-0-1    busy    3.56     4    3.9G   3.8G     4.0G    3.1G      4     8/tester 9/tester

其中,当node的LOAD为“-”时,相应node的state为down.

下面是根据qstat命令编写脚本监视任务的申请时间和逝去时间
[wuy@cluster test]$ qstat -u '*'
job-ID  prior   name       user         state submit/start at     queue                          slots ja-task-ID
-----------------------------------------------------------------------------------------------------------------
      6 0.50500 test1.sh   wuy          r     12/09/2012 14:47:26 all.q@compute-0-0.local            1        
      7 0.60500 test4.sh   wuy          r     12/09/2012 14:47:26 all.q@compute-0-0.local            2  
      8 0.60500 test2.sh   tester       r     12/09/2012 14:48:52 all.q@compute-0-1.local            2        
      9 0.60500 test3.sh   tester       r     12/09/2012 14:48:52 all.q@compute-0-1.local            2
[wuy@cluster test]$ qstat -j 6 |grep h_rt
hard resource_list:         h_rt=3600
得到的申请时间(reqtime)为3600s,改为小时制:1:00:00
逝去的时间(elaptime)为现在的时间`date`减去任务开始的时间

使用Shell, awk, perl等语言获得的命令脚本打印输出下面所示
job-ID   name       user         state submit/start at     queue                      slots   reqtime      elaptime
--------------------------------------------------------------------------------------------------------------------
      6  test1.sh   wuy          r     12/09/2012 14:47:26 all.q@compute-0-0.local      1      1:00:00     00:50:00
      7  test4.sh   wuy          r     12/09/2012 14:47:26 all.q@compute-0-0.local      2      2:00:00     00:50:00
      8  test2.sh   tester       r     12/09/2012 14:48:52 all.q@compute-0-1.local      2      5:00:00     00:48:34
      9  test3.sh   tester       r     12/09/2012 14:48:52 all.q@compute-0-1.local      2     12:00:00     00:48:34[ Last edited by wuy069 on 2012-12-9 at 18:30 ]
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 求助.txt
  • 2012-12-09 18:30:44, 4.22 K

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuy069

铁杆木虫 (正式写手)

引用回帖:
10楼: Originally posted by chembetsey at 2012-12-11 06:03:29
既然你感兴趣,我也没必要敝帚自珍了。

查看节点Qnod

qhost -j | \
awk ' BEGIN {
        print "------------------------------------------------------------------------------------------------&qu ...

qnod命令还是有问题:
如果执行主机关掉了,
qhost -j输出如下:
HOSTNAME                ARCH         NCPU  LOAD  MEMTOT  MEMUSE  SWAPTO  SWAPUS
-------------------------------------------------------------------------------
global                  -               -     -       -       -       -       -
cluster                 lx26-amd64      4     -    3.9G       -    4.0G       -

这时用qhost |grep ' -' |grep -v global来判断有没有执行主机的load为' -',如果有这个执行主机的状态state为down。

当执行主机没有任务时,且LOAD不为' -'时,state显示也要为free。你写的这个qnod命令显示为空。

qnod基于qhost -j输出的能否加上个listflag,就是输出的Load,MemUse,SwapUse超出系统固有值时给加一个星号(*),比如Load的值为4.87,这样超出4,多余0.5就加星(4.87*)。状态state的输出down,free,busy为加粗且为不同的颜色。

qjob基于qstat命令输出等候的任务能不能不要给出逝去时间,只是运行的任务才给出逝去时间;qjob的输出有点慢

能做到以上就perfect了。
11楼2012-12-11 08:40:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 18 个回答

tracel

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
看起来貌似很容易写,shell+awk 就可以,不过把你命令的结果组合下就可以了。

不过实在没看懂你需求是什么。你既然懂得脚本,不妨具体解决不了的问题贴出来,更方便一点。
2楼2012-12-09 20:59:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuy069

铁杆木虫 (正式写手)

引用回帖:
2楼: Originally posted by tracel at 2012-12-09 20:59:38
看起来貌似很容易写,shell+awk 就可以,不过把你命令的结果组合下就可以了。

不过实在没看懂你需求是什么。你既然懂得脚本,不妨具体解决不了的问题贴出来,更方便一点。

嗯,shell+awk应该是能实现的,awk学的不咋好,一时半会整不出来
根据qhost -j命令输出的结果,编写一个脚本打印出:
------------------------------------------------------------------------------------------------
  node          state   load    ncpu   mem   memuse   swapto  swapus  tasks  jobids/users     
------------------------------------------------------------------------------------------------
compute-0-0    free    2.97     4    3.9G   3.5G     4.0G    2.9G      3     6/wuy 7/wuy
compute-0-1    busy    3.56     4    3.9G   3.8G     4.0G    3.1G      4     8/tester 9/tester
这是第一个脚本

第二个:
根据qstat -u ’*'和qstat -j jobid输出的结果,编一个脚本输出以下部分:
job-ID   name       user         state submit/start at     queue                      slots   reqtime      elaptime
--------------------------------------------------------------------------------------------------------------------
      6  test1.sh   wuy          r     12/09/2012 14:47:26 all.q@compute-0-0.local      1      1:00:00     00:50:00
      7  test4.sh   wuy          r     12/09/2012 14:47:26 all.q@compute-0-0.local      2      2:00:00     00:50:00
      8  test2.sh   tester       r     12/09/2012 14:48:52 all.q@compute-0-1.local      2      5:00:00     00:48:34
      9  test3.sh   tester       r     12/09/2012 14:48:52 all.q@compute-0-1.local      2     12:00:00     00:48:34

如果你觉得很容易,我可以给你提供个账号,你在机器上可以编写;方便的话,可把你的QQ号用站内消息发我,谢谢!
3楼2012-12-09 21:20:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chembetsey

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
100金币太少了,给我500金币,我给你写。
4楼2012-12-09 23:26:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 国自然面上和省基金B类撒花 +4 花田半亩~白 2026-04-21 4/200 2026-04-22 08:15 by kudofaye
[论文投稿] 急需审稿人!!! +3 陆小果画大饼 2026-04-21 3/150 2026-04-21 23:54 by jzy_123456
[考博] 申博/考博 +4 啃面包的小书虫 2026-04-17 8/400 2026-04-21 16:26 by 啃面包的小书虫
[考研] 一志愿A区211,22408 321求调剂 +7 随心所欲☆ 2026-04-15 8/400 2026-04-21 08:22 by Equinoxhua
[考研] 295分求调剂 +6 ?要上岸? 2026-04-17 6/300 2026-04-21 08:18 by Equinoxhua
[考研] 一志愿中科大材料与化工,353分还有调剂学校吗 +11 否极泰来2026 2026-04-15 13/650 2026-04-20 22:31 by Equinoxhua
[考研] 085600材料与化工调剂 5+3 孜孜不倦2002 2026-04-19 6/300 2026-04-20 21:25 by babero
[论文投稿] 有没有接收比较快的sci期刊呀,最好在一个月之内的,研三孩子求毕业 20+4 之护着 2026-04-16 7/350 2026-04-20 15:45 by 豆豆7758
[考研] 337求调剂 +3 jyz04 2026-04-18 3/150 2026-04-20 12:24 by 研可安
[考博] 申博 +3 Xyyx. 2026-04-18 3/150 2026-04-20 10:44 by YuY66
[考研] 求计算机方向调剂 +3 Toffee2 2026-04-16 6/300 2026-04-19 22:37 by ll叶
[考研] 304求调剂 +8 castLight 2026-04-16 8/400 2026-04-19 17:14 by 中豫男
[考研] 求调剂 +10 小聂爱学习 2026-04-16 12/600 2026-04-19 16:51 by 中豫男
[考研] 求调剂 +6 苦命人。。。 2026-04-18 7/350 2026-04-19 16:27 by 中豫男
[考研] 0854求调剂 +23 门路摸摸 2026-04-15 27/1350 2026-04-19 01:59 by 烟雨流涯
[考研] 300求调剂 +12 橙a777 2026-04-15 12/600 2026-04-18 23:51 by 路病情
[考研] 接受任何调剂 +6 也就是栗子 2026-04-17 7/350 2026-04-18 17:20 by 涵竹刘
[考研] 收到复试调剂但是去不了 +8 小蜗牛* 2026-04-16 8/400 2026-04-18 11:15 by zixin2025
[考研] 急需调剂 +9 绝不放弃22 2026-04-15 10/500 2026-04-18 08:09 by chixmc
[有机交流] 二苯甲酮酸类衍生物 50+3 小白爱主人 2026-04-17 6/300 2026-04-17 18:47 by kf2781974
信息提示
请填处理意见