1

私はこのようなスラームの仕事をしています:

#!/bin/bash

#SBATCH -o %A.%N.out
#SBATCH -e %A.%N.err
#SBATCH --partition=compute
#SBATCH --nodes=1
#SBATCH -n 16
#SBATCH --export=ALL
#SBATCH -t 1:00:00

cmd1 input1 > o1
cmd2 o1 > o2
cmd3 o2 > o3

sacct使用すると、ジョブ全体の時間と CPU 使用率を取得できます。また、具体的にそれらの情報を取得することに興味がcmd1ありcmd3ます。どうやってそれができる?ジョブステップとそれsrunを支援しますか?

4

2 に答える 2

2

ステップごとに sacct で個別のエントリを取得できます。

コマンドを srun で実行すると、ステップが生成され、それぞれが監視され、独自のエントリが作成されます。

この後、sacct の出力に、ジョブ全体に対して 1 行、バッチ ステップに対して 1 行、スクリプトの各ステップ (srun/mpirun コマンド) に対して 1 行が表示されます。

于 2015-07-03T08:05:09.597 に答える
1

を使用time -vして、タイミングと使用されるリソースに関する詳細情報を取得できます。/usr/bin/timeこれは、シェルの組み込みではなく、バイナリを参照しているわけではありませんtime

$ /usr/bin/time -v ls /
bin   dev  home  lib64       media  opt   root  sbin  sys  usr
boot  etc  lib   lost+found  mnt    proc  run   srv   tmp  var
    Command being timed: "ls /"
    User time (seconds): 0.00
    System time (seconds): 0.00
    Percent of CPU this job got: 94%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.00
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 2136
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 126
    Voluntary context switches: 1
    Involuntary context switches: 1
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0

これは、バッチ スクリプトの任意のコマンドの先頭に追加できます。

于 2015-07-03T07:21:01.840 に答える