qsub 指定节点_PBS,QSUB常用命令
1、后臺提交作業qsub
語法: qsub [-a date_time] [-A account_string] [-e path] [-h] [-I] [-j
join] [-k keep] [-l resource_list] [-m mail_options] [-n
Node_allocation_Method [-L v1,[v2,[v3,[v4]]]]] [-M user_list] [-N
name] [-o path] [-p priority] [-q pool] [-r y|n] [-u user_list] [-v
variable_list] [-V] [script]
參數:
script參數被省略時,該命令可以從標準輸入獲得腳本文件名。
-a
間。格式為[[[[CC]YY]MM]DD]hhmm[.SS]。CC表示世紀,YY表示年(后兩位數字),MM表示月(兩位數字),DD表示天(兩位數
字),hh表示小時(兩位數字),mm表示分(兩位數字),SS表示秒(兩位數字)。如果DD指定的是未來日子,而未指定MM,則MM缺省值為當前月,否
則,MM的缺省值為下個月。如果hhmm指定的未來時間,而未指定DD,則DD的缺省值為當天,否則,DD的缺省值為明天。如果提交作業時使用該選項,當
指定時間還沒到時,作業狀態顯示為”W”。
-e
指定錯誤輸出文件名,格式為[hostname:]path_home。Hostname是返回錯誤輸出文件的主機名,path_home是錯誤輸出文件
的絕對路徑,如果指定了相對路徑,則相對用戶的主目錄。不使用該選項時,缺省值是在用戶主目錄下,以“作業名.e作業ID”命名的文件
-o
指定輸出文件名,格式為[hostname:]path_home。缺省值是在用戶主目錄下,以“作業名.e作業ID”命名的文件
-h 指定在提交作業時,設置用戶級’u’掛起。如果不指定,則設置掛起類型為’n’,即不掛起。
-I 指定作業以交互方式運行。
-j 指定合并錯誤輸出和實際輸出。如果指定’oe’,則合并到標準輸出文件中;如果指定’eo’,則合并到標準錯誤輸出文件中.
-k
指定執行主機是否保留錯誤輸出和實際輸出。如果指定‘o’,則僅保留標準輸出;如果指定’e’,則僅保留標準錯誤輸出;如果指定’oe’或‘eo’,則保留標準輸出和標準錯誤輸出;如果指定’n’,則不保留任何輸出。
-l 指定作業所需要的資源,設定對可消耗資源的限制。如果不設置,則無限制。例如:
resource_name[=[value]][,resource_name[=[value]],…]
LINUX系統可以設置的資源有cput, file, pcput, pmem, pvmem, vmem, walltime,
arch, nodes, ncpus等;
Cput指作業的所有進程使用cpu最長時間;
File指作業可以建立單個文件大小的最大限制;
Pcput指作業的單個進程可以使用CPU的最長時間;
vmem指作業可以使用的物理內存的最大值;
Pmem指作業的單個進程可以使用的物理內存的最大值;
Pvmem指作業的單個進程可以使用的虛擬內存的最大值;
walltime指作業處于運行狀態的最長時間;
arch 指定系統管理員所定義的系統結構類型;
host指定作業運行的主機名;
nodes指定作業獨占使用的結點數目和屬性,使用“+”可以連接多種結點的定義。
結點的屬性和主機名或數目之間通過“:”分隔。如果不指定結點數,則缺省為1。結點的屬性包括ppn(每個結點上的進程數,缺省為1)和系統管理員設置的屬性(如batch、bigmem)
例如:請求12個結點,不管其屬性
-l nodes=12
請求12個屬性為batch的結點和14個屬性為bigmem的結點
-l nodes=12:batch+14:bigmem
請求4個結點,每個結點上使用2個CPU
-l nodes=4:ppn=2
software 指作業要求的軟件包
-m 定義何時給用戶發送有關作業的郵件。可設定的選項有:
n 不發送郵件
a 當作業被批處理系統中斷時,發送郵件
b
當作業開始執行時,發送郵件
e
當作業執行結束時,發送郵件
-M 指定發送有關作業信息的郵件用戶列表。格式為user[@host][,user@[host],…]缺省值為提交作業的用戶。
-N 指定作業的名字。缺省值為腳本的名字,如果沒有指定腳本,則為STDIN。
-p 指定作業的優先級,優先級的范圍是[-1024, +1023]。缺省值是沒有優先級。
-q 指定作業的目的地(結點池),目的地可有三種格式:
pool
@server
pool@server
-r y|n 指定作業是否可重新運行。指定‘y’時,作業可以重新運行;指定’n’時,作業不能重新運行。缺省值為’n’。
-v
格式為variable1,variable2,…或variable1=value,variable2=value,…這些變量和其值可以傳遞到作業中。
-V 指定qsub命令的所有的環境變量都傳遞到批處理作業中。
作用: 以腳本文件的形式向批處理服務器提交作業。
舉例:
運行MPI程序的腳本cpi.ljrs如下:
#!/bin/sh
### Job name
#LJRS -N test
### Declare job non-rerunable
#LJRS -r n
### Output files
#LJRS -e test.err
#LJRS -o test.log
### Mail to user
#LJRS -m ae
### pool name (small, medium, long, verylong)
#LJRS -q dque
### Number of nodes (node property ev67 wanted)
#LJRS -l nodes=8:batch
# This job’s working directory
echo Working directory is $LJRS_O_WORKDIR
cd $LJRS_O_WORKDIR
echo Running on host ‘hostname‘
echo Time is ‘date‘
echo Directory is ‘pwd‘
echo This jobs runs on the following processors:
echo ‘cat $LJRS_NODEFILE‘
# Define number of processors
NPROCS=‘wc -l < $LJRS_NODEFILE‘
echo This job has allocated $NPROCS nodes
# Run the parallel MPI executable “a.out”
mpirun -v -machinefile $LJRS_NODEFILE -np $NPROCS cpi
1、把腳本文件cpi.ljrs提交到結點池dque中運行。
$ qsub cpi.ljrs
35.console
$ qstat
Job id Name User TimeUse S Pool
35.console cpi zhangxq 0:00:00 R dque
2、把腳本作業cpi.ljrs提交到結點池long中運行,并且當作業開始運行時,給用戶發送電子郵件。
$qsub -P long -m b cpi.ljrs $qstat
Job id Name User TimeUse S Pool
36.console cpi zhangxq 0 R long
3、使用15個結點運行cpi.ljrs,運行時間不能大于2小時,作業占用的內存能大于15mb
$qsub –l nodes=15,walltime=2:00:00,mem=15mb cpi.ljrs
4、綜合考慮CPU、內存、緩沖區、硬盤等因素的使用情況,設置其權值分別為5, 4, 3, 2.
$qsub –l nodes=5 -n syn –L 5, 4, 3, 2 cpi.ljrs
5、使用-I和–l選項在指定的結點上交互式運行作業
$ qsub –I -l nodes=c0101
運行該命令后,系統將自動切換到c0101的虛擬終端,所有的標準輸入和標準輸出和標準錯誤輸出均都顯示在該終端上.
在系統出現”waiting to jobid to
start”時,用戶若按^C鍵,即可中斷該交互作業.當該交互作業已經啟動后,用戶除了交互式運行作業外,還可進行以下操作:
~. 該命令將使qsub退出,且終止作業。
~^Z掛起qsub,作業依然保持運行狀態,無任何輸入輸出。用戶可以在本地shell上提交命令。
~^Y部分掛起qsub,因為還可以給作業發送輸入,而且接受作業的輸出的同時,還可以在本地shell提交命令。
2、查看狀態qstat
語法:qstat [-f][-W site_specific] [job_identifier... |
destination...]
qstat -Q [-f][-W site_specific] [destination...]
qstat -B [-f] [-W site_specific] [server_name...]
參數:destination可以為pool,@server,pool@server
作用:查看作業、結點池和批處理服務器的狀態。命令格式一可以輸出所指定作業ID或者結點池中所有作業的狀態,命令格式二可以輸出每個結點池的狀態信息,命令格式三可以輸出服務器的狀態。
舉例:
1. 顯示已經配置的所有結點池狀態信息。
qstat -q
2. 顯示已經提交的作業狀態信息
qstat -a
3. 顯示指定作業的所有狀態信息
$ qstat -f 23.console
mtime = Sun Apr 28 19:54:48 2002
Output_Path = console:/home/zhangxq/cpi.o23
Priority = 0
qtime = Sun Apr 28 19:54:48 2002
Rerunable = True
Resource_List.cput = 00:00:59
Resource_List.nodect = 2
Resource_List.nodes = 2:ppn=1
Variable_List = LJRS_O_HOME=/home/zhangxq,LJRS_O_LANG=en_US
……
4. 顯示服務器的狀態
$qstat –B
Server Max Tot Que Run Hld Wat Trn Ext Status
console 0 0 0 0 0 0 0 0 Active
3、查詢作業qselect
語法:qselect [-a [op]date_time] [-A account_string] [-h old_list] [-l
resource_list] [-N name] [-p [op]priority] [-q destination] [-r
y|n] [-s states] [-u user_list]
參數:op表示某一個作業屬性值和選項參數值之間的關系。如
.eq. (等于)
.ne. (不等于)
.ge. (大于或等于)
.gt. (大于)
.le. (小于)
其它參數含義見qsub命令。
作用:列出符合選項要求的作業ID。這些作業來自于單個服務器。如果沒有任何選項,該命令則列出該用戶被授權的服務器上的所有作業。對那些普通用戶來說,該命令只顯示該用戶所提交的作業。
舉例:
1. 查詢用戶所提交的作業
$ qsub -q long cpi.ljrs
28.console
$ qselect
25.console
28.console
2. 查詢指定結點池中的作業
$ qstat
Job id Name User TimeUse S Pool
25.console cpi zhangxq 0 Q dque
29.console cpi zhangxq 0 R long
$ qselect -P dque
25.console
3. 查詢指定主機上的作業
$ qstat
Job id Name User TimeUse S Pool
25.console cpi zhangxq 0 Q dque
29.console cpi zhangxq 0 R long
$ qselect -P @console
25.console
29.console
4、掛起作業qhold
語法:qhold [-h
hold_list] job_identifier …
作用:掛起批處理作業。掛起有三種類型:普通用戶級‘u’、管理員級(操作員級)‘o’、系統級‘s’,缺省值為不掛起‘n’。用戶只能在用戶級別掛起自己提交的作業,操作員可以在用戶級和操作員級掛起任何作業,系統管理員可以在任何級別上掛起任何作業。
在執行該命令時,如果作業在運行結點池里排隊,那么作業將直接被掛起;如果作業處于運行狀態,為了中斷作業的執行,必須采取其他辦法。如果被掛起作業的主
機系統支持一致點檢查或者重新啟動,則掛起正在運行作業將引發以下操作:首先檢查作業的一致性,然后釋放該作業所占用的資源,最后該作業位于執行結點池
中,處于掛起狀態;如果被掛起作業的主機系統不支持一致點檢查或者重新啟動,則僅設置指定的掛起作業類型,而實際上并不能掛起,除非調用qrerun命令
重新運行該作業時,該掛起請求才生效。
舉例:
1.
使用普通用戶身份掛起作業
$ qhold -h u
25.console $ qstat
Job id Name User TimeUse S Pool
25.console
cpi zhangxq 0 H dque
2.
以操作員身份掛起作業
$ qhold -h o
25
qhold:
Unauthorized Request 25.console
$ su root
$ qhold -h o
25
$ qstat
Job id Name User TimeUse S Pool
25.console
cpi zhangxq 0 H dque
5、釋放作業qrls
語法:qrls [-h
hold_list] job_identifier ...
作用:釋放被掛起的批處理作業。由于作業的掛起有三種類型:USER、OPERATOR和SYSTEM。所以,要釋放不同類型的作業掛起,用戶就必須具有相應的權限。缺省為USER級
舉例:釋放在普通用戶和操作員級被掛起的作業。
$ qstat
Job id Name
User TimeUse S Pool
25.console cpi zhangxq 0 H dque
$ qrls -h uo
25
$ qstat
Job id Name User TimeUse S Pool
25.console
cpi zhangxq 0 Q dque
6、重新運行作業qrerun
語法:qrerun job_identifier ...
作用:重新運行所指定的作業。
舉例:如果作業允許別重新執行(缺省值是可以重新運行)。ROOT用戶運行該命令,可以終止本次運行,把該作業放入其原來所在的結點池中,重新運行。
$ qrerun 27
qrerun: Unauthorized Request 27.console
$ su – root
$ qstat
Job id Name User TimeUse S Pool
25.console cpi zhangxq 0 Q dque
27.console cpi zhangxq 0 R dque
$ qrerun 27
$ qstat
Job id Name User TimeUse S Pool
25.console cpi zhangxq 0 Q dque
27.console cpi zhangxq 0 R dque
7、更改作業屬性qalter
語法:qalter [-a date_time] [-A account_string] [-e path] [-h
hold_list] [-j join] [-k keep] [-l resource_list] [-m mail_options]
[-M user_list] [-N name] [-o path] [-p priority] [-r c] [-u
user_list] job_identifier...
參數:各參數的含義見qsub命令。
作用:更改批處理作業的屬性。主要修改所指定作業ID的相關屬性(選項表中所列出的屬性)。
舉例:1. 更改批處理作業的運行時間屬性。
$ qalter -a 0309251000 23.console
2. 更改給用戶發送郵件的時間為作業中止和運行結束時
$ qalter –m ae 23.console
8、刪除作業qdel
語法:qdel [-W delay|force] job_identifier ...
參數:-W 當指定delay 時,表示在刪除作業前需要等待的時間(秒)
當指定force時,強制刪除該作業。
作用:刪除批處理作業。按照命令行中所指定的作業ID的順序來刪除作業。
舉例:$ qstat
Job id Name User TimeUse S Pool
22.console cpi zhangxq 0 Q long
$ qdel 22
9、給作業發送消息qmsg
語法:qmsg [-E] [-O] message_string job_identifier ...
參數:-E 將消息串寫入錯誤輸出文件
-O將消息串寫入輸出文件
作用:給批處理作業發送消息。該命令通過給作業的所有者(批處理服務器)發送消息,從而把消息寫入作業的輸出文件,也就是說,該命令并不是直接把消息寫入作業的輸出文件。
舉例:給正在運行的作業發送消息,該消息被寫入所指定作業的錯誤輸出文件中。
$ qstat
Job id Name User TimeUse S Pool
25.console cpi zhangxq 0 Q dque
26.console cpi zhangxq 0 R dque
$ qmsg “The job is running” 26
$ more cpi.e26
The job is running
10、在結點池之間移動作業qmove
語法:qmove destination job_identifier ...
參數:destination可以為結點池名
作用:把批處理作業移到其他結點池中去運行。即把作業從所在的結點池中刪除,并放在其他結點池中。
舉例:
$ qstat
Job id Name User TimeUse S Pool
22.console cpi zhangxq 0 Q dque
$ qmove long 22
$ qstat
Job id Name User TimeUse S Pool
22.console cpi zhangxq 0 Q long
11、給作業發送信號qsig
語法:qsig [-s signal] job_identifier ...
參數:參數signal可以為信號名稱,如SIGKILL,KILL,SIGNULL或者無符號整數,如9、0。
作用:給正在運行的批處理作業發送信號。如果不指定-S選項,則發送“SIGTERM”信號。如果有下列原因之一,如用戶無權給作業發送信號、作業未處于運行狀態和該信號請求對作業所運行的系統無效,則拒絕執行該命令請求。
12、查看和管理結點ljrsnodes
語法:ljrsnodes [- {c|o|r}] [nodename …] ljrsnodes - {a|l }]
參數:-a 列出所有結點及其屬性,屬性包括“state”和“properties”
-c 清除結點列表中的“offline”或“down”狀態設置,使結點可以被分配給作業。
-l 以行的方式列出被標記的結點的狀態 -o 將指定結點的狀態標記為“offline”。這將幫助管理員暫時停止某些結點的服務。
-r 清除指定結點的“offline”狀態
作用:該命令可以標記結點的狀態為“offline”、“down”或“free”,也可以幫助用戶查看結點信息。除了”-a”
和“-l”選項外,使用其他選項需要擁有操作員和管理員權限。
舉例:1、查看所有結點信息
ljrsnodes -a
2、將結點標記為“offline”狀態
ljrsnodes –o c0108
3、清除結點的“offline”狀態設置
ljrsnodes –c c0108 或 ljrsnodes –r c0108
13、查看所有計算結點的狀態shownodes
語法:shownodes [-h]
作用:按照結點池分類顯示各結點池中結點的狀態,結點狀態以不同顏色顯示。并在結點名后以數字代表可用CPU數和總共CPU數。例如c0101-2/2,
表示c0101結點可用2CPU總共2CPU,c0102-1/2表示C0102可用1CPU總共2CPU。
舉例:$shownodes –h
用戶通過qsub命令來向系統提交任務,有兩種方式提交:腳本方式和命令行方式。(一般情況下,不允許root用戶使用qsub命令提交作業)。下面先講一下用這兩種方式提交作業的過程。
腳本方式提交
用
戶將需要執行的程序或命令寫入腳本中,再加入一些必要或者可選的語句,就可以通腳本方式提交。腳本提交比較方便,用戶可以用最簡單的文字編輯器(例如
vi)編寫一個腳本,然后使用 qsub 命令提交該腳本,pbs
會按照腳本內容執行相應的任務。腳本提交的不足之處就是需要用戶執行任務前編寫腳本。
腳本方式提交任務的一般格式為:qsub
[script_name],script_name 是任務腳本的名稱。
下面介紹 pbs
任務腳本的編寫方法。
pbs
任務腳本包括三部分:
*
shell 說明語句:用來說明用戶使用的是哪種 shell,例如 #!/bin/sh說明用戶需要使用 Bourne
shell,如果用戶沒有指定,則默認為 Bourne shell
*
pbs 指示語句:pbs 指示語句是用戶用來請求任務運行時所需的資源或設置任務的一些屬性的。以#PBS開頭,如#PBS –N
taskname 是用來設置任務名稱的。pbs
指示語句是可選的,用戶可以不用關心它如何寫,系統會自動設置。
*
pbs 指示句的一個主要作用是請求任務執行時所需要的系統資源,如 cpu
數目,存儲容量,運行時間,運行優先級等等。以腳本方式提交的任務的資源請求是通過 pbs 指示語句,一般格式為 #PBS –l
[選項=] [選項對應的值],如#PBS –l ncpus=5 表示請求 5
個cpu為之服務。系統資源如下所示
arch
所需要的系統結構,只用在資源塊中 -l arch=linux
cput
任務的所有進程擁有的最大 cpu 執行時間 -l cput=1:00:00
file
任務能夠創建的文件的大小 -l file=45mb
host
指定執行主機的名稱 -l nodes=X:host 分配 X個主機名稱 中含有 host的執行節點
mem
任務的所有進程能夠分配到的最大物理內存數 -l mem=100mb
ncpus 請求的
cpu數 -l ncup=5
nice 任務運行時的
nice 優先級值 -l nice=3
pcput
任務的任何一個進程擁有的最大 cpu 執行時間 -l pcput=1:00:00
pmem
任務的任何一個進程能夠分配到的最大物理內存數 -l pmem=45mb
pvmem
任務的任何一個進程能夠使用的虛擬內存的最大數 -l pvmem=100mb
vmem
任務的所有并發進程能夠使用的最大虛存數 -l pvmem=100mb
walltime
任務可以處于運行態的最大 wall-clock 時間 -l walltime=1:00:00
custom
resources 用戶自定義資源
最常用的幾種資源是:walltime,
ncpus, mem, host。其它可以不用太關心。
資源請求的兩種方式:
a、
資源塊方式:資源塊是將任務所需的資源作為一個整體,這個整體中說明了所需要的各種資源的數目。其格式為:-l
select=[N:]chunk[+[N:]chunk…],如qsub –l
select=2:ncpus=3:mem=4gb:arch=linux
,select=2表示需要2個這樣的資源塊,一個資源塊包括3個cpu,4gb的內存,系統結構要求是linux,即總共需要6個cpu,8gb的內
存。再如:-l
select=2:ncpus=1:mem=10GB+3:ncpus=2:mem=8GB:arch=solaris注意中間的+號,是兩個資源塊的分
隔符
b、請求全任務(job-wide)資源:格式為
–lkeyword=value[,keyword=value
...]如:qsub -l ncpus=4,mem=123mb,arch=linux
任務(程序或命令):可以是用戶程序(如C程序),也可以是系統命令
下面是一個完整的任務腳本例子,腳本名為
mytask:
1.
#!/bin/sh//指明所用的
shell
2.
#PBS –N mytask//設置任務名稱
3.
#PBS -l walltime=1:00:00//請求任務執行時間
4.
#PBS -l
select=ncpus=4:mem=400mb//請求任務執行所需資源
5.
#PBS -j oe//設置相關屬性(文件合并)
6.
date /t//系統命令(打印日期時間)
7.
.\my_application//所要執行的任務(當前目錄名為
my_application的任務)
8.
date /t//系統命令
第
1 行說明所用的 shell;第 2 至5 行是 pbs 指示語句,設置了任務的一些屬性,并請求了資源;第 6
至8行是要執行的命令及任務。
編寫完腳本后,使用
qsub 命令提交腳本,在 shell下輸入:
qsub
mytask
后敲回車。
系統會輸出一個任務標識符:sequence-number.servername,如
220.cnode01。sequence-number是任務編號,后面需要用這個號查看任務的執行狀態,ervername
是
pbs server的名稱。
命令行方式提交
命令行方式提交不用寫腳本,用戶可以直接從命令行輸入。輸入的內容基本上和在腳本中輸入的相同。其基本格式如下:
qsub//輸入qsub命令后回車
[directives]//pbs指示語句(以#PBS為前綴)
[tasks]//任務或命令
ctrl-D//結束輸入,提交任務
對于上面用腳本方式提交的任務,用命令行方式提交的格式如下:
1.
qsub
2.
#PBS –N mytask
3.
#PBS –l walltime=1:00:00
4.
#PBS –l select=ncpus=4:mem=400mb
5.
#PBS -j oe
6.
date /t
7.
./my_application
8.
date /t
注:以命令行方式提交任務時,這些命令選項都要以
pbs 指示語句的格式給出,即選項之前要加前綴#PBS。
任務提交后,用戶如果要知道任務的當前運行狀態,可以通過
qstat 命令查詢。qstat 命令的常用選項有:
無選項:當 qstat
命令不帶任何選項時,以默認方式顯示任務信息,例如
[soofree@node32]$
qstat
Job
idNameUserTime
UseSQueue
—————-—————-—————-——————
569.node32testsoofree0Rsmall
其中,Job id
是任務的標識符,Name 是任務名稱,User是任務所有者,Time Use 是CPU使用時間,S 是任務當前狀態(本例中
R表示正在運行),Queue表示任務所在隊列。任務的狀態如下:
*
B只用于任務向量,表示任務向量已經開始執行
*
E任務在運行后退出
*
H任務被服務器或用戶或者管理員阻塞
*
Q任務正在排隊中,等待被調度運行
*
R任務正在運行
*
S任務被服務器掛起,由于一個更高優先級的任務需要當前任務的資源
*
T任務被轉移到其它執行節點了
*
U由于服務器繁忙,任務被掛起
*
W任務在等待它所請求的執行時間的到來(qsub
-a)
*
X只用于子任務,表示子任務完成
再舉一例,使用-a
選項指定任務開始執行時間:
[soofree@nod32]$
qsub -a 2102 test
571.node32
[soofree@node32]$
qstat
Job
idNameUserTime
Use SQueue
—————-
—————- —————- ———– — ——–
570.cnode01testsoofree0Wdefault
此時任務狀態(S)顯示
W,表示任務正在等待執行時間的到來
PBS 命令與使用
PBS(Portable Batch
System)是由NASA開發的靈活的批處理系統。它被用于集群系統、超級計算機和大規模并行系統。PBS主要有如下特征:
易用性:為所有的資源提供統一的接口,易于配置以滿足不同系統的需求,靈活的作業調度器允許不同系統采用自己的調度策略。
移植性:符合POSIX 1003.2標準,可以用于shell和批處理等各種環境。
適配性:可以適配與各種管理策略,并提供可擴展的認證和安全模型。支持廣域網上的負載的動態分發和建立在多個物理位置不同的實體上的虛擬組織。
靈活性:支持交互和批處理作業。
1、PBS命令
PBS提供4條命令用于作業管理。
(1)?qsub?命令—用于提交作業腳本
命令格式:
qsub ?[-a
date_time] [-c interval] [-C directive_prefix]
[-e path] [-I] [-j join] [-k keep]
[-l resource_list]?[-m
mail_options]
[-M user_list][-N name] [-o path]
[-p priority] [-q destination] [-r c]
[-S path_list] [-u user_list][-v
variable_list] [-V]
[-W additional_attributes]
[-z]
[script]
參數說明:因為所采用的選項一般放在pbs腳本中提交,所以具體見PBS腳本選項。
例:#
qsub?aaa.pbs?提交某作業,系統將產生一個作業號
(2)?qstat?命令—用于查詢作業狀態信息
命令格式:qatat [-f][-a][-i] [-n][-s] [-R]
[-Q][-q][-B][-u]
參數說明:
-f?jobid?列出指定作業的信息
-a列出系統所有作業
-i列出不在運行的作業
-n?列出分配給此作業的結點
-s列出隊列管理員與scheduler所提供的建議
-R列出磁盤預留信息
-Q?操作符是destination id,指明請求的是隊列狀態
-q?列出隊列狀態,并以alternative形式顯示
-au
userid?列出指定用戶的所有作業
-B?列出PBS Server信息
-r?列出所有正在運行的作業
-Qf
queue?列出指定隊列的信息
-u?若操作符為作業號,則列出其狀態。
若操作符為destination
id,則列出運行在其上的屬于user_list中用戶的作業狀態。
例:# qstat -f
211查詢作業號為211的作業的具體信息。
(3)
qdel?命令—用于刪除已提交的作業
命令格式:qdel?[-W?間隔時間]?作業號
命令行參數:
例:# qdel -W 15
211?15秒后刪除作業號為211的作業
(4)?qmgr?命令—用于隊列管理
qmgr -c "create
queue batch queue_type=execution"
qmgr -c "set queue
batch started=true"
qmgr -c "set queue
batch enabled=true"
qmgr -c "set queue
batch resources_default.nodes=1"
qmgr -c "set queue
batch resources_default.walltime=3600"
qmgr -c "set server
default_queue=batch"
2、PBS腳本文件
PBS腳本文件由腳本選項和運行腳本兩部分組成。
(1) PBS作業腳本選項 (若無-C選項,則每項前面加‘#PBS’)
-a?date_time?:?date_time格式為:[[[[CC]YY]MM]DD]hhmm[.SS]
表示經過date_time時間后作業才可以運行。
-c?interval?:
定義作業的檢查點間隔,如果機器不支持檢查點,則忽略此選項。
-C?directive_prefix?:在腳本文件中以directive_prefix開頭的行解釋為qsub的命
令選項。(若無此選項,則默認為’#PBS’?)
-e ?path:將標準錯誤信息重定向到path
-I:以交互方式運行
-j ?join:將標準輸出信息與標準錯誤信息合并到一個文件join中去。
-k?keep?:定義在執行結點上保留標準輸出和標準錯誤信息中的哪個文件。
keep為o?表示保留前者,e表示后者,oe或eo表示二者都保留,
n表示皆不保留。若忽略此選項,二者都不保留。
-l?resource_list?:
定義資源列表。以下為幾個常用的資源種類。
cput=N?:
請求N秒的CPU時間; N也可以是hh:mm:ss的形式。
mem=N[K|M|G][B|W]:請求N
{kilo|mega|giga}{bytes|words}?大小的內存。
nodes=N:ppn=M:請求N個結點,每個結點M個處理器。
-m?mail_options?:mail_option為a:作業abort時給用戶發信;為b:作業開始運行發信;為e:作業結束運行時發信。若無此選項,默認為a。
-M?user_list?:
定義有關此作業的mail發給哪些用戶。
-N?name?:
作業名,限15個字符,首字符為字母,無空格。
-o ?path:
重定向標準輸出到path。
-p?priority?:
任務優先級,整數,[-1024,1023],若無定義則為0.
-q?destination?:?destination有三種形式:?queue ,
@server,queue@server。
-r?y|n?:
指明作業是否可運行,y為可運行,n為不可運行。
-S ?shell:
指明執行運行腳本所用的shell,須包含全路徑。
-u?user_list?:
定義作業將在運行結點上以哪個用戶名來運行。
-v?variable_list?:
定義export到本作業的環境變量的擴展列表。
-V:
表明qsub命令的所有環境變量都export到此作業。
-W?additional_attributes?:
作業的其它屬性。
-z:
指明qsub命令提交作業后,不在終端顯示作業號。
(2)?運行腳本同LINUX下一般的運行腳本文件。
[注]:腳本文件中的mpirun_rsh命令行中的節點列表文件要用環境變量表示
$PBS_NODEFILE,這個環境變量表示由pbs自動分配給作業的節點列表;
節點數為命令行中指定的進程數。
格式如下:
mpirun_rsh –np 進程數 –hostfile $PBS_NODEFILE
可執行程序名
命令詳解如下:
Getting Status on the
System, Queues, and Jobs
Command
Short Description
Tutorial
Manual Page
list information about queues and jobs
list all queues on system
list queue limits for all queues
list all jobs with status comments
list all information known about specified job
list all information known about specified queue
List summary information about the PBS server
Submitting a Job
submit an interactive-batch job
submit job directly to a specified queue
Using the Graphical
User Interface (GUI)
Graphical User Interface to PBS commands
總結
以上是生活随笔為你收集整理的qsub 指定节点_PBS,QSUB常用命令的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 配置DNS服务器的需要修改的配置文件为,
- 下一篇: android p 第三方预装,andr
