日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

(2)【轉(zhuǎn)】qsub命令

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

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

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

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

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

 資源請(qǐng)求的兩種方式:

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

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

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

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

    qsub mytask

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

命令行方式提交
命令行方式提交不用寫(xiě)腳本,用戶可以直接從命令行輸入。輸入的內(nèi)容基本上和在腳本中輸入的相同。其基本格式如下:
qsub          //輸入qsub命令后回車(chē)
[directives]     //pbs指示語(yǔ)句(以#PBS為前綴)
[tasks]       //任務(wù)或命令
ctrl-D        //結(jié)束輸入,提交任務(wù)
對(duì)于上面用腳本方式提交的任務(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ù)時(shí),這些命令選項(xiàng)都要以 pbs 指示語(yǔ)句的格式給出,即選項(xiàng)之前要加前綴#PBS。
任務(wù)提交后,用戶如果要知道任務(wù)的當(dāng)前運(yùn)行狀態(tài),可以通過(guò) qstat 命令查詢。qstat 命令的常用選項(xiàng)有:
無(wú)選項(xiàng):當(dāng) qstat 命令不帶任何選項(xiàng)時(shí),以默認(rèn)方式顯示任務(wù)信息,例如

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

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

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

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

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

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

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

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多