**文書の過去の版を表示しています。**
def_slotの追加
qconf -ap def_slot // slot 999に変更 #qconf -aq debug.q qconf -aattr queue pe_list def_slot all.q #qconf -aattr queue pe_list def_slot debug.q
各ノードのメモリー量の設定
まず、グリッドエンジンでのcomplex attributeにmem_reqを追加するために、下記のように行う。
qconf -mc
で次の行を追加する。
mem_req mem_req MEMORY <= YES YES 1G 0
それから各ノードで
qconf -rattr exechost complex_values mem_req=128G m128
とやってメモリー量を設定する。
qsubを投げるときに、
qsub -l mem_req=30G -q all.q@m128
などとやると、最大でも4ジョブまでしかm128には入らない。ただし、メモリーを30GB以上使ったとしてもジョブをkillすることはしない。もし必要であれば、h_vmem当たりを使うとよさそう。
ここで指定するmemreqは1コア当たりのメモリ量なので、defslotを使って複数スロットを使う場合は、memreq x defslot分のメモリーを予約するので注意。
仮にmem_reqを指定しない場合は、qconf -mcで設定した1Gが消費される。
mem_reqのcomplex attributes設定の確認は
qconf -sc
ノードごとのメモリー設定量は下記で表示される。
qconf -se m8.s
load averageが高い原因の調査
ps aux -L | egrep -w "R.|D." | grep -v grep |grep -v "ps aux"
ジョブの再実行
qmod -r job_id
ジョブの途中でqsubのパラメータを変更したいとき
例 qalter -r yes job_id
ホストがstates Eの時の原因表示
qstat -f -explain E
次のコマンドでエラーを消せる(が、ジョブを投げると再びエラーに・・・)
qmod -c '*'
原因はよくわからないけど、sge_execdをkillして、/etc/init.d/sgeexecd.p6444 start
でリスタートかけると上手くジョブが流れるようになった。
251でホストがstates Eのときの対応
ディスク不足などでエラーとなった場合
$ qstat -f queuename qtype resv/used/tot. load_avg arch states --------------------------------------------------------------------------------- all.q@m50v251n1 BIP 0/0/16 0.01 lx-amd64 E --------------------------------------------------------------------------------- all.q@m50v251n2 BIP 0/0/16 0.04 lx-amd64 E --------------------------------------------------------------------------------- all.q@m50v251n3.s BIP 0/0/16 0.01 lx-amd64 E
sudo su - source /opt/sge/default/common/settings.sh qmod -c all.q@m50v251n1
とやるとエラーが消えて復旧。
schedd_job_info の有効化 (2022/7/28)
qconf -msconf
で、
schedd_job_info true
にする。
m50vXXXに16コア分ジョブが入らない件の調査
qhost -F
して、hc:mem_req=0.000などとなっていないか見る。
それでも、qsubの時に-l mem_req=0G
をつけると一応流れるようにはなる。つけないとデフォルトのmem_req=1Gが設定されるため流れない。
管理者ユーザの追加
qconf -am yoshitake
管理者のメールアドレスの変更
qconf -mconf global