メインコンテンツに移動

自分のジョブの状況

自分のジョブの状況を確認したり, 中止したりすることが可能です.

ジョブの状況を見る

  • 実行中あるいは待機中(つまりqueue)のジョブを見る: sq エスキュー
$ sq
JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
172    B       ---O));^        sugimoto  R       0:01      1 ib2007-4
  • 実行済みの(つまりlogにある)ジョブを見る: sl  えすえる
$ sl -l -a
       JobID      User  Part    JobName  Timelimit Elapsed Start        End      State     MaxRSS  MaxVMSize  NodeList
 ------------ ------- ----  ---------- ---------- ---------- ------------------- ------------------- ---------- ---------
3200.batch                  batch  COMPLETED   05:35:27  11-22T10:13:51 11-22T10:13:51     0.15G      0.13G as2020-3
3204          hibiki    E   3052   COMPLETED   09:32:09  11-22T10:13:51 11-22T10:13:51                      as2020-1
3204.batch                  batch  COMPLETED   09:32:09  11-22T10:13:51 11-22T10:13:51     3.10G      0.13G as2020-1
3205          hibiki    E   3053   RUNNING     10:34:30  11-22T10:13:51 11-22T10:13:51                      as2020-2
3206.batch                  batch  COMPLETED   00:26:25  11-22T10:13:51 11-22T10:13:51     0.36G      0.13G as2020-2
3207          hibiki    E   3056   COMPLETED   07:34:33  11-22T10:13:51 11-22T10:13:51                      as2020-3
3207.batch                  batch  COMPLETED   07:34:33  11-22T10:13:51 11-22T10:13:51    24.36G      0.13G as2020-3
3208            yuto    E   YutoJo TIMEOUT     03:05:14  11-22T10:13:51 11-22T10:13:51                      ib2007-1
3208.batch                  batch  CANCELLED   03:05:17  11-22T10:13:51 11-22T10:13:51     0.00G      0.13G ib2007-1

なお,過去3日間の記録を表示する場合には sl -d3 のように日数を指定すれば良い. 詳細な情報が必要であれば sl -l とすれば良いし,他人の状況も見たければ sl -a とすれば良い.MaxRSSは,あなたのプログラムが利用したメモリーボードのサイズ,MaxVMは,あなたのプログラムが利用しようとしたメモリーのサイズ,NodeListは計算を実行したマシンの名前です.

ジョブの状況を無理やり見る

研究室の計算機クラスターは教育目的でもありますので,なんと,計算ノードにログインすることができます!sshで実行中のノードにアクセスし(もちろん計算速度に悪影響がありますが),top と入力すると

top - 13:32:48 up 4 days, 18:52,  1 user,  load average: 46.35, 46.98, 47.24
Tasks: 752 total,   4 running, 748 sleeping,   0 stopped,   0 zombie
%Cpu(s): 74.3 us,  0.1 sy,  0.0 ni, 25.0 id,  0.0 wa,  0.6 hi,  0.0 si,  0.0 st
MiB Mem : 257811.7 total,   1562.1 free, 252634.8 used,   3614.8 buff/cache
MiB Swap: 131072.0 total, 119431.4 free,  11640.6 used.   3049.5 avail Mem
PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                         
104557 mori      20   0  239.7g 237.5g   9516 R  3179  94.3 139560:46 BGK                                             
123469 hibiki    20   0 9682640   7.7g  41216 R  1582   3.1   3746:37 BGK                                             
1056 root      20   0   51452   3512   3508 S   1.0   0.0  42:47.11 plymouthd                                       
2275 root      20   0  642544  29908  27172 S   0.3   0.0   7:03.77 tuned                                           

こんな感じで, ジョブ状況がわかります.

  1. ここをみると, mori君の計算はメモリーチップを238GB, hibiki君のは8GB使っていることがわかります.
  2. ここをみると, mori君の計算は本来240GB, hibiki君のは9GBほど準備していることがわかります.データを準備してぜーんぜん使わないと,RESとVIRTの差が大きくなります.
  3. OMP並列計算が正常に稼働していると.ここのCPU%が100%を超えて大きくなります.メモリー不足とか,プログラムの書き方が悪いと,ここが伸びてきません.
  4. このへんにkswapdとかk....というプロセスが出現すると,システム全体のメモリーが不足し,低速計算に陥っていることがわかります.

topの実行は,①そのターミナルを赤ボタンで吹っ飛ばす ② q と入力してtopを終了する   ③CTRL+Cでtopを強制終了する,などで停止させることができます.桁がデカすぎて読みにくい場合, e と入力してみましょう.

ジョブをキャンセル

ジョブ番号4453のジョブの計算を強制終了するには,エスシーコマンドを使います.

$ sc 4453

気合を入れてキャンセルするには

$ sc -f 4453

シグナル番号と気合を入れてキャンセルするには

$ sc -f -s 15 4453

この15とかいうのはLinuxのシグナル番号です:

1 (SIGHUP) 4 (SIGKILL) 10 (SIGUSR1) 12 (SIGUSR2) 15 (SIGTERM)
サポートされていれば一時中止. そうでなければ強制終了 サポートされていれば指定動作. そうでなければ強制終了 拒否権なしの強制終了

*サポートってのは,あなたが自分のプログラムでシグナルをトラップするコードを書いた場合,です. 「なにそれ」と思うあなたは,サポートしていません.

ジョブを一時停止する

ジョブ番号4453のジョブをちょいとしばらく停止させておくには

$ smgr suspend 4453

気をつけないといけないのは,ちょいと停止させると,ジョブの待ち行列の次のジョブが実行開始してしまうことです.それを防ぐには,あらかじめ,該当するジョブクラス を一時停止しておいた方が良いです.例えばEクラスを活動休止させるには

$ smgr j down E

もちろん停止したジョブクラス は,作業後に再開しておかないとジョブの実行が不可能なままになってしまいます:

$ smgr j up E

一時停止したジョブを再開する

停止したジョブはS状態になります:

JOBID PARTITION NAME   USER  ST TIME         NODES NODELIST(REASON)
331      E     1265    shogo  R 4-21:46:05      1 is2011-2
344      E     1385    shogo  R 1-01:59:21      1 ig2016-1
345      E     1384    shogo  R 1-01:52:01      1 ig2016-1
330      E     1322    shogo  R 5-23:20:35      1 is2011-1
302      E     1315    shogo  S 15-21:52:34     1 ig2014-1  一時停止

こやつを再開させるには

$ smgr resume 302

です

それでは,以下で長大計算に向けたジョブの説明を行います.