SGE基本操作


SGE怎樣工作:

1. 接受用戶投放的任務

2. 在任務運行以前,將任務放到一個存儲區域

3. 發送任務到一個執行設備,並監控任務的運行

4. 運行結束寫回結果並記錄運行日志

常用的SGE命令:

1. 投遞任務到指定隊列all.q 方法一: qsub -cwd -l vf=*G -q all.q *.sh 方法二: qsub -cwd -S /bin/bash -l vf=*G -q all.q *.sh -cwd 表示在當前路徑下投遞,sge的日志會輸出到當前路徑。 -l vf=*G 任務的預估內存,內存估計的值應稍微大於真實的內存,內存預估偏小可能會導致節點跑掛。 -q 指定要投遞到的隊列,如果不指定的話,SGE會在用戶可使用的隊列中選擇一個滿足要求的隊列。 注: 方法一和方法二都可以投遞任務到指定隊列,但是方法一可能會輸出警告信息“Warning: no access to tty (Bad file descriptor). Thus no job control in this shell.” 這是因為SGE默認使用的是tcsh,而*.sh使用的是bash,所以應該在投遞的時候指明命令解釋器。若非要使用方法一的話,可以在腳本*.sh的開頭加上#$ -S /bin/bash。

2. 投遞任務到指定節點 qsub -cwd -l vf=*G -l h=node1 *.sh qsub -cwd -l vf=*G -l h=node1 -P project -q all.q *.sh -P 參數指明任務所屬的項目

3. 查詢任務 qstat -f 查看所有任務 qstat -j jobId 按任務id查看 qstat -u user 按用戶查看 任務狀態: qw 表示等待狀態 Eqw 投遞任務出錯 r 表示任務正在運行 dr 節點掛了之后,刪除任務就會出現這個狀態,只有節點重啟之后,任務才會消失

4. 刪除任務 qdel -j 1111 刪除任務號為1111的任務

5. 其他命令 qrsh 與qsub相比,是交互式的投遞任務,注意參數: -now yes|no 默認設置為yes 若設置為yes,立即調度作業,如果沒有可用資源,則拒絕作業,任務投遞失敗,任務狀態為Eqw。 若設置為no,調度時如果沒有可用資源,則將作業排入隊列,等待調度。 例子: qrsh -l vf=*G -q all.q -now no -w n *sh qacct 從集群日志中抽取任意賬戶信息 qalter 更改已提交但正處於暫掛狀態的作業的屬性 qconf 為集群和隊列配置提供用戶界面 qhold 阻止已提交作業的執行 qhost 顯示SGE執行主機(即各個計算節點)的狀態信息 qlogin 啟動telnet或類似的登錄會話。

6. bash腳本與Linux環境變量 為了防止腳本運行時找不到環境變量,在投遞的bash腳本的前面最好加上以下兩句話: #! /bin/bash #$ -S /bin/bas Ctal + z 掛起 bg 回車在后台執行 fg 回車,切換為前台執行 (1) CTRL+Z掛起進程並放入后台 (2) jobs 顯示當前暫停的進程 (3) bg %N 使第N個任務在后台運行(%前有空格) (4) fg %N 使第N個任務在前台運行 默認bg,fg不帶%N時表示對最后一個進程操作!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM