| 查看: 1424 | 回復: 17 | ||
wuy069鐵桿木蟲 (正式寫手)
|
[求助]
請教:用Shell, awk, perl等語言實現(xiàn)監(jiān)視SGE集群節(jié)點和任務
|
|
請教:用Shell, awk, perl等語言實現(xiàn)監(jiān)視SGE集群節(jié)點和任務 簡單的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節(jié)點上有兩個任務6和7,所用的cpu分別為1和2;在compute-0-1節(jié)點上有兩個任務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. 下面是根據(jù)qstat命令編寫腳本監(jiān)視任務的申請時間和逝去時間 [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)為現(xiàn)在的時間`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 ] |
木蟲 (正式寫手)
鐵桿木蟲 (正式寫手)
|
嗯,shell+awk應該是能實現(xiàn)的,awk學的不咋好,一時半會整不出來 根據(jù)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 這是第一個腳本 第二個: 根據(jù)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號用站內消息發(fā)我,謝謝! |
木蟲 (小有名氣)
木蟲 (正式寫手)
|
qhost -j | awk '/compute/{b=1;a[b++]=$1;a[b++]=$3;a[b++]=$4;getline;getline;for(i=1;i<5;i++){getline;if(NF==9){a[b++]=$4"/"$1}};print a[1]"\t"a[2]"\t"a[3]"\t"a[4],a[5]}' 你照著這個自己再修改下吧,反正你應該是可以看懂的 |
鐵桿木蟲 (正式寫手)
木蟲 (小有名氣)
鐵桿木蟲 (正式寫手)
木蟲 (正式寫手)
木蟲 (小有名氣)
|
既然你感興趣,我也沒必要敝帚自珍了。 查看節(jié)點Qnod 查看作業(yè)Qjob |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 298-一志愿中國農業(yè)大學-求調劑 +9 | 手機用戶 2026-03-17 | 9/450 |
|
|---|---|---|---|---|
|
[考研] 085700資源與環(huán)境308求調劑 +10 | 墨墨漠 2026-03-18 | 11/550 |
|
|
[考研] 一志愿南昌大學,327分,材料與化工085600 +5 | Ncdx123456 2026-03-19 | 5/250 |
|
|
[考研] 329求調劑 +6 | 想上學吖吖 2026-03-19 | 6/300 |
|
|
[考研] 材料專碩英一數(shù)二306 +6 | z1z2z3879 2026-03-18 | 6/300 |
|
|
[考研] 求調劑 +3 | 暗涌afhb 2026-03-16 | 3/150 |
|
|
[考研] 307求調劑 +9 | 冷笙123 2026-03-17 | 9/450 |
|
|
[考研] 0703化學調劑 +4 | 18889395102 2026-03-18 | 4/200 |
|
|
[考研] 材料與化工求調劑 +7 | 為學666 2026-03-16 | 7/350 |
|
|
[考研] 一志愿福大288有機化學,求調劑 +3 | 小木蟲200408204 2026-03-18 | 3/150 |
|
|
[考研] 304求調劑 +6 | 司空. 2026-03-18 | 6/300 |
|
|
[考研] 【同濟軟件】軟件(085405)考研求調劑 +3 | 2026eternal 2026-03-18 | 3/150 |
|
|
[考研] 297求調劑 +8 | 戲精丹丹丹 2026-03-17 | 8/400 |
|
|
[考研] 材料專碩306英一數(shù)二 +10 | z1z2z3879 2026-03-16 | 13/650 |
|
|
[考研] 334求調劑 +3 | 志存高遠意在機?/a> 2026-03-16 | 3/150 |
|
|
[考研] 293求調劑 +11 | zjl的號 2026-03-16 | 16/800 |
|
|
[考研] 277調劑 +5 | 自由煎餅果子 2026-03-16 | 6/300 |
|
|
[論文投稿] 有沒有大佬發(fā)小論文能帶我個二作 +3 | 增銳漏人 2026-03-17 | 4/200 |
|
|
[考研] 東南大學364求調劑 +5 | JasonYuiui 2026-03-15 | 5/250 |
|
|
[考研] 070303 總分349求調劑 +3 | LJY9966 2026-03-15 | 5/250 |
|