乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      PBS,QSUB常用命令

       panhoy 2014-09-06

      1、后臺提交作業(yè)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]

              參數(shù): script參數(shù)被省略時,該命令可以從標準輸入獲得腳本文件名。

             -a 間。格式為[[[[CC]YY]MM]DD]hhmm[.SS]。CC表示世紀,YY表示年(后兩位數(shù)字),MM表示月(兩位數(shù)字),DD表示天(兩位數(shù) 字),hh表示小時(兩位數(shù)字),mm表示分(兩位數(shù)字),SS表示秒(兩位數(shù)字)。如果DD指定的是未來日子,而未指定MM,則MM缺省值為當前月,否 則,MM的缺省值為下個月。如果hhmm指定的未來時間,而未指定DD,則DD的缺省值為當天,否則,DD的缺省值為明天。如果提交作業(yè)時使用該選項,當 指定時間還沒到時,作業(yè)狀態(tài)顯示為”W”。

             -e 指定錯誤輸出文件名,格式為[hostname:]path_home。Hostname是返回錯誤輸出文件的主機名,path_home是錯誤輸出文件 的絕對路徑,如果指定了相對路徑,則相對用戶的主目錄。不使用該選項時,缺省值是在用戶主目錄下,以“作業(yè)名.e作業(yè)ID”命名的文件

             -o 指定輸出文件名,格式為[hostname:]path_home。缺省值是在用戶主目錄下,以“作業(yè)名.e作業(yè)ID”命名的文件

             -h 指定在提交作業(yè)時,設(shè)置用戶級’u’掛起。如果不指定,則設(shè)置掛起類型為’n’,即不掛起。

             -I 指定作業(yè)以交互方式運行。

             -j 指定合并錯誤輸出和實際輸出。如果指定’oe’,則合并到標準輸出文件中;如果指定’eo’,則合并到標準錯誤輸出文件中.

             -k 指定執(zhí)行主機是否保留錯誤輸出和實際輸出。如果指定‘o’,則僅保留標準輸出;如果指定’e’,則僅保留標準錯誤輸出;如果指定’oe’或‘eo’,則保留標準輸出和標準錯誤輸出;如果指定’n’,則不保留任何輸出。

             -l 指定作業(yè)所需要的資源,設(shè)定對可消耗資源的限制。如果不設(shè)置,則無限制。例如: resource_name[=[value]][,resource_name[=[value]],…]

             LINUX系統(tǒng)可以設(shè)置的資源有cput, file, pcput, pmem, pvmem, vmem, walltime, arch, nodes, ncpus等;

             Cput指作業(yè)的所有進程使用cpu最長時間;

             File指作業(yè)可以建立單個文件大小的最大限制;

             Pcput指作業(yè)的單個進程可以使用CPU的最長時間;

             vmem指作業(yè)可以使用的物理內(nèi)存的最大值;

             Pmem指作業(yè)的單個進程可以使用的物理內(nèi)存的最大值;

             Pvmem指作業(yè)的單個進程可以使用的虛擬內(nèi)存的最大值;

             walltime指作業(yè)處于運行狀態(tài)的最長時間;

             arch 指定系統(tǒng)管理員所定義的系統(tǒng)結(jié)構(gòu)類型;

             host指定作業(yè)運行的主機名;

             nodes指定作業(yè)獨占使用的結(jié)點數(shù)目和屬性,使用“+”可以連接多種結(jié)點的定義。

             結(jié)點的屬性和主機名或數(shù)目之間通過“:”分隔。如果不指定結(jié)點數(shù),則缺省為1。結(jié)點的屬性包括ppn(每個結(jié)點上的進程數(shù),缺省為1)和系統(tǒng)管理員設(shè)置的屬性(如batch、bigmem)

             例如:請求12個結(jié)點,不管其屬性

                 -l nodes=12

             請求12個屬性為batch的結(jié)點和14個屬性為bigmem的結(jié)點

                 -l nodes=12:batch+14:bigmem

             請求4個結(jié)點,每個結(jié)點上使用2個CPU

                 -l nodes=4:ppn=2

             software 指作業(yè)要求的軟件包

             -m 定義何時給用戶發(fā)送有關(guān)作業(yè)的郵件??稍O(shè)定的選項有:

                 n 不發(fā)送郵件

                 a 當作業(yè)被批處理系統(tǒng)中斷時,發(fā)送郵件

                  b 當作業(yè)開始執(zhí)行時,發(fā)送郵件

                 e 當作業(yè)執(zhí)行結(jié)束時,發(fā)送郵件

             -M 指定發(fā)送有關(guān)作業(yè)信息的郵件用戶列表。格式為user[@host][,user@[host],…]缺省值為提交作業(yè)的用戶。

             -N 指定作業(yè)的名字。缺省值為腳本的名字,如果沒有指定腳本,則為STDIN。

             -p 指定作業(yè)的優(yōu)先級,優(yōu)先級的范圍是[-1024, +1023]。缺省值是沒有優(yōu)先級。

             -q 指定作業(yè)的目的地(結(jié)點池),目的地可有三種格式:

                    pool

                    @server

                    pool@server

             -r y|n 指定作業(yè)是否可重新運行。指定‘y’時,作業(yè)可以重新運行;指定’n’時,作業(yè)不能重新運行。缺省值為’n’。

             -v 格式為variable1,variable2,…或variable1=value,variable2=value,…這些變量和其值可以傳遞到作業(yè)中。

             -V 指定qsub命令的所有的環(huán)境變量都傳遞到批處理作業(yè)中。

                 作用: 以腳本文件的形式向批處理服務(wù)器提交作業(yè)。

                 舉例:

                 運行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提交到結(jié)點池dque中運行。

                    $ qsub cpi.ljrs

                    35.console

                    $ qstat

                    Job id Name User TimeUse S Pool

                    35.console cpi zhangxq 0:00:00 R dque

                 2、把腳本作業(yè)cpi.ljrs提交到結(jié)點池long中運行,并且當作業(yè)開始運行時,給用戶發(fā)送電子郵件。

                    $qsub -P long -m b cpi.ljrs $qstat

                    Job id Name User TimeUse S Pool

                    36.console cpi zhangxq 0 R long

                 3、使用15個結(jié)點運行cpi.ljrs,運行時間不能大于2小時,作業(yè)占用的內(nèi)存能大于15mb

                    $qsub –l nodes=15,walltime=2:00:00,mem=15mb cpi.ljrs

       

                 4、綜合考慮CPU、內(nèi)存、緩沖區(qū)、硬盤等因素的使用情況,設(shè)置其權(quán)值分別為5, 4, 3, 2.

                    $qsub –l nodes=5 -n syn –L 5, 4, 3, 2 cpi.ljrs

                 5、使用-I和–l選項在指定的結(jié)點上交互式運行作業(yè)

                    $ qsub –I -l nodes=c0101

                    運行該命令后,系統(tǒng)將自動切換到c0101的虛擬終端,所有的標準輸入和標準輸出和標準錯誤輸出均都顯示在該終端上. 在系統(tǒng)出現(xiàn)”waiting to jobid to start”時,用戶若按^C鍵,即可中斷該交互作業(yè).當該交互作業(yè)已經(jīng)啟動后,用戶除了交互式運行作業(yè)外,還可進行以下操作:

                    ~. 該命令將使qsub退出,且終止作業(yè)。

                    ~^Z掛起qsub,作業(yè)依然保持運行狀態(tài),無任何輸入輸出。用戶可以在本地shell上提交命令。

                    ~^Y部分掛起qsub,因為還可以給作業(yè)發(fā)送輸入,而且接受作業(yè)的輸出的同時,還可以在本地shell提交命令。

       

          2、查看狀態(tài)qstat

             語法:qstat [-f][-W site_specific] [job_identifier... | destination...]

                   qstat -Q [-f][-W site_specific] [destination...]

                   qstat -B [-f] [-W site_specific] [server_name...]

             參數(shù):destination可以為pool,@server,pool@server

             作用:查看作業(yè)、結(jié)點池和批處理服務(wù)器的狀態(tài)。命令格式一可以輸出所指定作業(yè)ID或者結(jié)點池中所有作業(yè)的狀態(tài),命令格式二可以輸出每個結(jié)點池的狀態(tài)信息,命令格式三可以輸出服務(wù)器的狀態(tài)。

             舉例:

             1. 顯示已經(jīng)配置的所有結(jié)點池狀態(tài)信息。

                 qstat -q

             2. 顯示已經(jīng)提交的作業(yè)狀態(tài)信息

                 qstat -a

             3. 顯示指定作業(yè)的所有狀態(tài)信息

                 $ 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. 顯示服務(wù)器的狀態(tài)

                 $qstat –B

                 Server Max Tot Que Run Hld Wat Trn Ext Status

                 console 0 0 0 0 0 0 0 0 Active

       

          3、查詢作業(yè)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]

             參數(shù):op表示某一個作業(yè)屬性值和選項參數(shù)值之間的關(guān)系。如

             .eq. (等于)

             .ne. (不等于)

             .ge. (大于或等于)

             .gt. (大于)

             .le. (小于)

             其它參數(shù)含義見qsub命令。

             作用:列出符合選項要求的作業(yè)ID。這些作業(yè)來自于單個服務(wù)器。如果沒有任何選項,該命令則列出該用戶被授權(quán)的服務(wù)器上的所有作業(yè)。對那些普通用戶來說,該命令只顯示該用戶所提交的作業(yè)。

             舉例:

             1. 查詢用戶所提交的作業(yè)

                 $ qsub -q long cpi.ljrs

                 28.console

                 $ qselect

                 25.console

                 28.console

             2. 查詢指定結(jié)點池中的作業(yè)

                 $ 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. 查詢指定主機上的作業(yè)

                 $ 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、掛起作業(yè)qhold

              語法:qhold [-h hold_list] job_identifier …

              作用:掛起批處理作業(yè)。掛起有三種類型:普通用戶級‘u’、管理員級(操作員級)‘o’、系統(tǒng)級‘s’,缺省值為不掛起‘n’。用戶只能在用戶級別掛起自己提交的作業(yè),操作員可以在用戶級和操作員級掛起任何作業(yè),系統(tǒng)管理員可以在任何級別上掛起任何作業(yè)。

              在執(zhí)行該命令時,如果作業(yè)在運行結(jié)點池里排隊,那么作業(yè)將直接被掛起;如果作業(yè)處于運行狀態(tài),為了中斷作業(yè)的執(zhí)行,必須采取其他辦法。如果被掛起作業(yè)的主 機系統(tǒng)支持一致點檢查或者重新啟動,則掛起正在運行作業(yè)將引發(fā)以下操作:首先檢查作業(yè)的一致性,然后釋放該作業(yè)所占用的資源,最后該作業(yè)位于執(zhí)行結(jié)點池 中,處于掛起狀態(tài);如果被掛起作業(yè)的主機系統(tǒng)不支持一致點檢查或者重新啟動,則僅設(shè)置指定的掛起作業(yè)類型,而實際上并不能掛起,除非調(diào)用qrerun命令 重新運行該作業(yè)時,該掛起請求才生效。

              舉例:

              1. 使用普通用戶身份掛起作業(yè)

                 $ qhold -h u 25.console $ qstat

                 Job id Name User TimeUse S Pool

                  25.console cpi zhangxq 0 H dque

              2. 以操作員身份掛起作業(yè)

                  $ 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、釋放作業(yè)qrls

              語法:qrls [-h hold_list] job_identifier ...

              作用:釋放被掛起的批處理作業(yè)。由于作業(yè)的掛起有三種類型:USER、OPERATOR和SYSTEM。所以,要釋放不同類型的作業(yè)掛起,用戶就必須具有相應(yīng)的權(quán)限。缺省為USER級

              舉例:釋放在普通用戶和操作員級被掛起的作業(yè)。

                  $ 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、重新運行作業(yè)qrerun

             語法:qrerun job_identifier ...

             作用:重新運行所指定的作業(yè)。

             舉例:如果作業(yè)允許別重新執(zhí)行(缺省值是可以重新運行)。ROOT用戶運行該命令,可以終止本次運行,把該作業(yè)放入其原來所在的結(jié)點池中,重新運行。

                 $ 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、更改作業(yè)屬性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...

             參數(shù):各參數(shù)的含義見qsub命令。

             作用:更改批處理作業(yè)的屬性。主要修改所指定作業(yè)ID的相關(guān)屬性(選項表中所列出的屬性)。

             舉例:1. 更改批處理作業(yè)的運行時間屬性。

                 $ qalter -a 0309251000 23.console

             2. 更改給用戶發(fā)送郵件的時間為作業(yè)中止和運行結(jié)束時

                 $ qalter –m ae 23.console

       

          8、刪除作業(yè)qdel

             語法:qdel [-W delay|force] job_identifier ...

             參數(shù):-W 當指定delay 時,表示在刪除作業(yè)前需要等待的時間(秒)

      當指定force時,強制刪除該作業(yè)。

             作用:刪除批處理作業(yè)。按照命令行中所指定的作業(yè)ID的順序來刪除作業(yè)。

             舉例:$ qstat

                 Job id Name User TimeUse S Pool

                 22.console cpi zhangxq 0 Q long

                 $ qdel 22

       

          9、給作業(yè)發(fā)送消息qmsg

             語法:qmsg [-E] [-O] message_string job_identifier ...

             參數(shù):-E 將消息串寫入錯誤輸出文件

                   -O將消息串寫入輸出文件

             作用:給批處理作業(yè)發(fā)送消息。該命令通過給作業(yè)的所有者(批處理服務(wù)器)發(fā)送消息,從而把消息寫入作業(yè)的輸出文件,也就是說,該命令并不是直接把消息寫入作業(yè)的輸出文件。

             舉例:給正在運行的作業(yè)發(fā)送消息,該消息被寫入所指定作業(yè)的錯誤輸出文件中。

                 $ 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、在結(jié)點池之間移動作業(yè)qmove

             語法:qmove destination job_identifier ...

             參數(shù):destination可以為結(jié)點池名

             作用:把批處理作業(yè)移到其他結(jié)點池中去運行。即把作業(yè)從所在的結(jié)點池中刪除,并放在其他結(jié)點池中。

             舉例:

                 $ 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、給作業(yè)發(fā)送信號qsig

             語法:qsig [-s signal] job_identifier ...

             參數(shù):參數(shù)signal可以為信號名稱,如SIGKILL,KILL,SIGNULL或者無符號整數(shù),如9、0。

             作用:給正在運行的批處理作業(yè)發(fā)送信號。如果不指定-S選項,則發(fā)送“SIGTERM”信號。如果有下列原因之一,如用戶無權(quán)給作業(yè)發(fā)送信號、作業(yè)未處于運行狀態(tài)和該信號請求對作業(yè)所運行的系統(tǒng)無效,則拒絕執(zhí)行該命令請求。

       

          12、查看和管理結(jié)點ljrsnodes

             語法:ljrsnodes [- {c|o|r}] [nodename …] ljrsnodes - {a|l }]

             參數(shù):-a 列出所有結(jié)點及其屬性,屬性包括“state”和“properties”

             -c 清除結(jié)點列表中的“offline”或“down”狀態(tài)設(shè)置,使結(jié)點可以被分配給作業(yè)。

             -l 以行的方式列出被標記的結(jié)點的狀態(tài) -o 將指定結(jié)點的狀態(tài)標記為“offline”。這將幫助管理員暫時停止某些結(jié)點的服務(wù)。

             -r 清除指定結(jié)點的“offline”狀態(tài)

             作用:該命令可以標記結(jié)點的狀態(tài)為“offline”、“down”或“free”,也可以幫助用戶查看結(jié)點信息。除了”-a” 和“-l”選項外,使用其他選項需要擁有操作員和管理員權(quán)限。

             舉例:1、查看所有結(jié)點信息

                 ljrsnodes -a

             2、將結(jié)點標記為“offline”狀態(tài)

                 ljrsnodes –o c0108

             3、清除結(jié)點的“offline”狀態(tài)設(shè)置

                 ljrsnodes –c c0108 或 ljrsnodes –r c0108

       

          13、查看所有計算結(jié)點的狀態(tài)shownodes

             語法:shownodes [-h]

             作用:按照結(jié)點池分類顯示各結(jié)點池中結(jié)點的狀態(tài),結(jié)點狀態(tài)以不同顏色顯示。并在結(jié)點名后以數(shù)字代表可用CPU數(shù)和總共CPU數(shù)。例如c0101-2/2, 表示c0101結(jié)點可用2CPU總共2CPU,c0102-1/2表示C0102可用1CPU總共2CPU。

             舉例:$shownodes –h

      用戶通過qsub命令來向系統(tǒng)提交任務(wù),有兩種方式提交:腳本方式和命令行方式。(一般情況下,不允許root用戶使用qsub命令提交作業(yè))。下面先講一下用這兩種方式提交作業(yè)的過程。
      腳本方式提交

      用戶將需要執(zhí)行的程序或命令寫入腳本中,再加入一些必要或者可選的語句,就可以通腳本方式提交。腳本提交比較方便,用戶可以用最簡單的文字編輯器(例如 vi)編寫一個腳本,然后使用 qsub 命令提交該腳本,pbs 會按照腳本內(nèi)容執(zhí)行相應(yīng)的任務(wù)。腳本提交的不足之處就是需要用戶執(zhí)行任務(wù)前編寫腳本。
      腳本方式提交任務(wù)的一般格式為:qsub [script_name],script_name 是任務(wù)腳本的名稱。
      下面介紹 pbs 任務(wù)腳本的編寫方法。
      pbs 任務(wù)腳本包括三部分:

          * shell 說明語句:用來說明用戶使用的是哪種 shell,例如 #!/bin/sh說明用戶需要使用 Bourne shell,如果用戶沒有指定,則默認為 Bourne shell
          * pbs 指示語句:pbs 指示語句是用戶用來請求任務(wù)運行時所需的資源或設(shè)置任務(wù)的一些屬性的。以#PBS開頭,如#PBS –N taskname 是用來設(shè)置任務(wù)名稱的。pbs 指示語句是可選的,用戶可以不用關(guān)心它如何寫,系統(tǒng)會自動設(shè)置。
          * pbs 指示句的一個主要作用是請求任務(wù)執(zhí)行時所需要的系統(tǒng)資源,如 cpu 數(shù)目,存儲容量,運行時間,運行優(yōu)先級等等。以腳本方式提交的任務(wù)的資源請求是通過 pbs 指示語句,一般格式為 #PBS –l [選項=] [選項對應(yīng)的值],如#PBS –l ncpus=5 表示請求 5 個cpu為之服務(wù)。系統(tǒng)資源如下所示

      arch 所需要的系統(tǒng)結(jié)構(gòu),只用在資源塊中 -l arch=linux
      cput 任務(wù)的所有進程擁有的最大 cpu 執(zhí)行時間 -l cput=1:00:00
      file 任務(wù)能夠創(chuàng)建的文件的大小 -l file=45mb
      host 指定執(zhí)行主機的名稱 -l nodes=X:host 分配 X個主機名稱 中含有 host的執(zhí)行節(jié)點
      mem 任務(wù)的所有進程能夠分配到的最大物理內(nèi)存數(shù) -l mem=100mb
      ncpus 請求的 cpu數(shù) -l ncup=5
      nice 任務(wù)運行時的 nice 優(yōu)先級值 -l nice=3
      pcput 任務(wù)的任何一個進程擁有的最大 cpu 執(zhí)行時間 -l pcput=1:00:00
      pmem 任務(wù)的任何一個進程能夠分配到的最大物理內(nèi)存數(shù) -l pmem=45mb
      pvmem 任務(wù)的任何一個進程能夠使用的虛擬內(nèi)存的最大數(shù) -l pvmem=100mb
      vmem 任務(wù)的所有并發(fā)進程能夠使用的最大虛存數(shù) -l pvmem=100mb
      walltime 任務(wù)可以處于運行態(tài)的最大 wall-clock 時間 -l walltime=1:00:00
      custom resources 用戶自定義資源

      最常用的幾種資源是:walltime, ncpus, mem, host。其它可以不用太關(guān)心。

       資源請求的兩種方式:

      a、資源塊方式:資源塊是將任務(wù)所需的資源作為一個整體,這個整體中說明了所需要的各種資源的數(shù)目。其格式為:-l select=[N:]chunk[+[N:]chunk…],如qsub –l select=2:ncpus=3:mem=4gb:arch=linux ,select=2表示需要2個這樣的資源塊,一個資源塊包括3個cpu,4gb的內(nèi)存,系統(tǒng)結(jié)構(gòu)要求是linux,即總共需要6個cpu,8gb的內(nèi)存。再如:-l select=2:ncpus=1:mem=10GB+3:ncpus=2:mem=8GB:arch=solaris注意中間的+號,是兩個資源塊的分隔符
      b、請求全任務(wù)(job-wide)資源:格式為 –l  keyword=value[,keyword=value ...]如:qsub -l ncpus=4,mem=123mb,arch=linux

      任務(wù)(程序或命令):可以是用戶程序(如C程序),也可以是系統(tǒng)命令
      下面是一個完整的任務(wù)腳本例子,腳本名為 mytask:

             1. #!/bin/sh                 //指明所用的 shell
             2. #PBS –N mytask     //設(shè)置任務(wù)名稱
             3. #PBS -l walltime=1:00:00       //請求任務(wù)執(zhí)行時間
             4. #PBS -l select=ncpus=4:mem=400mb    //請求任務(wù)執(zhí)行所需資源
             5. #PBS -j oe                       //設(shè)置相關(guān)屬性(文件合并)
             6. date /t                           //系統(tǒng)命令(打印日期時間)
             7. .\my_application                 //所要執(zhí)行的任務(wù)(當前目錄名為 my_application的任務(wù))
             8. date /t       //  系統(tǒng)命令

      第 1 行說明所用的 shell;第 2 至5 行是 pbs 指示語句,設(shè)置了任務(wù)的一些屬性,并請求了資源;第 6 至8行是要執(zhí)行的命令及任務(wù)。
      編寫完腳本后,使用 qsub 命令提交腳本,在 shell下輸入:

          qsub mytask

      后敲回車。
      系統(tǒng)會輸出一個任務(wù)標識符:sequence-number.servername,如 220.cnode01。sequence-number是任務(wù)編號,后面需要用這個號查看任務(wù)的執(zhí)行狀態(tài),ervername
      是 pbs server的名稱。

      命令行方式提交
      命令行方式提交不用寫腳本,用戶可以直接從命令行輸入。輸入的內(nèi)容基本上和在腳本中輸入的相同。其基本格式如下:
      qsub <return>         //輸入qsub命令后回車
      [directives]     //pbs指示語句(以#PBS為前綴)
      [tasks]       //任務(wù)或命令
      ctrl-D        //結(jié)束輸入,提交任務(wù)
      對于上面用腳本方式提交的任務(wù),用命令行方式提交的格式如下:

             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

      注:以命令行方式提交任務(wù)時,這些命令選項都要以 pbs 指示語句的格式給出,即選項之前要加前綴#PBS。
      任務(wù)提交后,用戶如果要知道任務(wù)的當前運行狀態(tài),可以通過 qstat 命令查詢。qstat 命令的常用選項有:
      無選項:當 qstat 命令不帶任何選項時,以默認方式顯示任務(wù)信息,例如

          [soofree@node32]$ qstat
          Job id           Name             User        Time Use   S               Queue
          —————-   —————-      —————-    ————   ——
          569.node32    test             soofree          0             R               small

      其中,Job id 是任務(wù)的標識符,Name 是任務(wù)名稱,User是任務(wù)所有者,Time Use 是CPU使用時間,S 是任務(wù)當前狀態(tài)(本例中 R表示正在運行),Queue表示任務(wù)所在隊列。任務(wù)的狀態(tài)如下:

              * B  只用于任務(wù)向量,表示任務(wù)向量已經(jīng)開始執(zhí)行
              * E  任務(wù)在運行后退出
              * H  任務(wù)被服務(wù)器或用戶或者管理員阻塞
              * Q  任務(wù)正在排隊中,等待被調(diào)度運行
              * R  任務(wù)正在運行
              * S  任務(wù)被服務(wù)器掛起,由于一個更高優(yōu)先級的任務(wù)需要當前任務(wù)的資源
              * T  任務(wù)被轉(zhuǎn)移到其它執(zhí)行節(jié)點了
              * U  由于服務(wù)器繁忙,任務(wù)被掛起
              * W  任務(wù)在等待它所請求的執(zhí)行時間的到來(qsub -a)
              * X  只用于子任務(wù),表示子任務(wù)完成

      再舉一例,使用-a 選項指定任務(wù)開始執(zhí)行時間:

          [soofree@nod32]$ qsub -a 2102 test
          571.node32
          [soofree@node32]$ qstat

          Job id           Name     User    Time Use S  Queue
          —————- —————- —————- ———– — ——–
          570.cnode01      test       soofree     0    W    default

      此時任務(wù)狀態(tài)(S)顯示 W,表示任務(wù)正在等待執(zhí)行時間的到來

      PBS 命令與使用

      PBS(Portable Batch System)是由NASA開發(fā)的靈活的批處理系統(tǒng)。它被用于集群系統(tǒng)、超級計算機和大規(guī)模并行系統(tǒng)。PBS主要有如下特征:
      • 易用性:為所有的資源提供統(tǒng)一的接口,易于配置以滿足不同系統(tǒng)的需求,靈活的作業(yè)調(diào)度器允許不同系統(tǒng)采用自己的調(diào)度策略。
      • 移植性:符合POSIX 1003.2標準,可以用于shell和批處理等各種環(huán)境。
      • 適配性:可以適配與各種管理策略,并提供可擴展的認證和安全模型。支持廣域網(wǎng)上的負載的動態(tài)分發(fā)和建立在多個物理位置不同的實體上的虛擬組織。
      • 靈活性:支持交互和批處理作業(yè)。
      OpenPBS( http://www.OpenPBS.org/)是PBS的Open Source的實現(xiàn)。商業(yè)版本的PBS可以參照: http://www./。
      1、PBS命令
         PBS提供4條命令用于作業(yè)管理。
      (1)     qsub 命令用于提交作業(yè)腳本
      命令格式:
      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]
      參數(shù)說明:因為所采用的選項一般放在pbs腳本中提交,所以具體見PBS腳本選項。
      例:# qsub  aaa.pbs         提交某作業(yè),系統(tǒng)將產(chǎn)生一個作業(yè)號
      (2)     qstat 命令用于查詢作業(yè)狀態(tài)信息
      命令格式:qatat [-f][-a][-i] [-n][-s] [-R] [-Q][-q][-B][-u]
      參數(shù)說明:
      -f  jobid  列出指定作業(yè)的信息
      -a        列出系統(tǒng)所有作業(yè)
      -i         列出不在運行的作業(yè)
      -n        列出分配給此作業(yè)的結(jié)點
      -s        列出隊列管理員與scheduler所提供的建議
      -R       列出磁盤預(yù)留信息
      -Q       操作符是destination id,指明請求的是隊列狀態(tài)     
      -q        列出隊列狀態(tài),并以alternative形式顯示
      -au userid  列出指定用戶的所有作業(yè)
      -B       列出PBS Server信息
      -r        列出所有正在運行的作業(yè)
      -Qf queue 列出指定隊列的信息
      -u        若操作符為作業(yè)號,則列出其狀態(tài)。
      若操作符為destination id,則列出運行在其上的屬于user_list中用戶的作業(yè)狀態(tài)。
      例:# qstat -f 211      查詢作業(yè)號為211的作業(yè)的具體信息。
      (3) qdel 命令用于刪除已提交的作業(yè)
      命令格式:qdel  [-W 間隔時間] 作業(yè)號
      命令行參數(shù):
      例:# qdel -W 15 211            15秒后刪除作業(yè)號為211的作業(yè)
      (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作業(yè)腳本選項 (若無-C選項,則每項前面加‘#PBS’
                  -a  date_time : date_time格式為:[[[[CC]YY]MM]DD]hhmm[.SS]
                                                       表示經(jīng)過date_time時間后作業(yè)才可以運行。
      -c  interval   : 定義作業(yè)的檢查點間隔,如果機器不支持檢查點,則忽略此選項。
      -C  directive_prefix :在腳本文件中以directive_prefix開頭的行解釋為qsub的命
      令選項。(若無此選項,則默認為’#PBS’ )
      -e  path     :將標準錯誤信息重定向到path
      -I           :以交互方式運行
      -j  join      :將標準輸出信息與標準錯誤信息合并到一個文件join中去。
      -k  keep     :定義在執(zhí)行結(jié)點上保留標準輸出和標準錯誤信息中的哪個文件。
                                keepo 表示保留前者,e表示后者,oeeo表示二者都保留,
                                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} 大小的內(nèi)存。
                nodes=N:ppn=M     :請求N個結(jié)點,每個結(jié)點M個處理器。
      -m  mail_options :mail_optiona:作業(yè)abort時給用戶發(fā)信;為b:作業(yè)開始運行發(fā)信;為e:作業(yè)結(jié)束運行時發(fā)信。若無此選項,默認為a。
      -M  user_list   : 定義有關(guān)此作業(yè)的mail發(fā)給哪些用戶。
      -N  name      : 作業(yè)名,限15個字符,首字符為字母,無空格。
      -o  path       : 重定向標準輸出到path。
      -p  priority     : 任務(wù)優(yōu)先級,整數(shù),[-10241023],若無定義則為0.
      -q  destination  : destination有三種形式: queue , @server,queue@server。
      -r  y|n         : 指明作業(yè)是否可運行,y為可運行,n為不可運行。
      -S  shell       : 指明執(zhí)行運行腳本所用的shell,須包含全路徑。
      -u  user_list    : 定義作業(yè)將在運行結(jié)點上以哪個用戶名來運行。
      -v  variable_list : 定義export到本作業(yè)的環(huán)境變量的擴展列表。
      -V             : 表明qsub命令的所有環(huán)境變量都export到此作業(yè)。
      -W  additional_attributes  : 作業(yè)的其它屬性。
      -z             : 指明qsub命令提交作業(yè)后,不在終端顯示作業(yè)號。
      (2)     運行腳本同LINUX下一般的運行腳本文件。
      []:腳本文件中的mpirun_rsh命令行中的節(jié)點列表文件要用環(huán)境變量表示
      $PBS_NODEFILE,這個環(huán)境變量表示由pbs自動分配給作業(yè)的節(jié)點列表;
      節(jié)點數(shù)為命令行中指定的進程數(shù)。
      格式如下:
      mpirun_rsh –np 進程數(shù) –hostfile $PBS_NODEFILE 可執(zhí)行程序名
       
      命令詳解如下:
       
      Getting Status on the System, Queues, and Jobs
      CommandShort DescriptionTutorialManual Page
      qstatlist information about queues and jobsUsing qstatqstat man page
      qstat -qlist all queues on systemHTML and PSqstat man page
      qstat -Qlist queue limits for all queuesHTML and PSqstat man page
      qstat -alist all jobs on systemUsing qstatqstat man page
      qstat -au useridlist all jobs owned by user useridUsing qstatqstat man page
      qstat -slist all jobs with status commentsHTML and PSqstat man page
      qstat -rlist all running jobsHTML and PSqstat man page
      qstat -f jobidlist all information known about specified jobUsing qstatqstat man page
      qstat -Qf queuelist all information known about specified queueUsing qstatqstat man page
      qstat -BList summary information about the PBS serverHTML and PSqstat man page
      Submitting a Job
      qsub jobscriptsubmit jobscript to PBSUsing qsubqsub man page
      qsub -Isubmit an interactive-batch jobUsing qsubqsub man page
      qsub -q queuesubmit job directly to a specified queueUsing qsubqsub man page
      Using the Graphical User Interface (GUI)
      xpbsGraphical User Interface to PBS commandsUsing xpbsxpbs man page 

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多