バックト
終了したジョブに関するアカウンティング統計を表示します。
概要
bacct [-b | -l [-aff ] [-gpu ] ] [-d ] [-E ] [-e ] [-UF ] [-w ] [-x ] [-app アプリケーションプロファイル名 ] [-C 時間0, 時間1 ] [-D 時間0, 時間1 ] [-f ログファイル名 | -f - ] [-Lp ls_プロジェクト名... ] [-m ホスト名... |-M ホストリストファイル ] [-N ホスト名 | -N ホストモデル | -N CPU係数 ] [-P プロジェクト名... ] [-q キュー名... ] [-rcacct "all | rc_account_name..." ] [-rcalloc "all | rc_account_name..." ] [-sla サービスクラス名... ] [-S 時間0, 時間1 ] [-u ユーザー名... | -uall ] [-f ログファイル名 ] [ ジョブID... ] [-U 予約ID... | -U all ]説明
終了したすべてのジョブのアカウンティング統計の要約を表示します (DONEまたはEXITLSF システム内のすべてのホスト、プロジェクト、およびキューに対して、コマンドを実行したユーザーによって実行依頼された状況)。
デフォルトでは、 bacct コマンドは、現行の LSF アカウンティング・ログ・ファイル LSB_SHAREDIR/cluster_name/logdir/lsb.acctに記録されているすべてのジョブの統計を表示します。
CPU 時間は正規化されません。
すべての時間は秒単位です。
bacct コマンドでは報告されないが、個々のシステム管理者にとって重要な統計は、 awk または perl を直接使用して lsb.acct ファイルを処理することによって生成できます。
スループットの計算
LSF システム、特定のホスト、またはキューのスループット (T) を計算するには、次の公式を使用します。
T = N/(ET-BT)
ここで:
- N は、アカウンティング統計が報告されるジョブの合計数です。
- BT は、最初のジョブがログに記録されたときのジョブ開始時刻です。
- ET は、最後のジョブがログに記録されたときのジョブ終了時刻です。
オプション -C time0,time1 を使用して、ジョブ開始時刻を time0 として指定し、終了時刻を time1として指定します。 このようにして、特定の期間中のスループットを調べることができます。
- LSF システムの合計スループットを計算するには、 -m、 -q、 -S、 -D、または job_ID オプションを指定せずに -u all オプションを指定します。
- ホストのスループットを計算するには、 -q、 -S、 -D、または job_ID オプションを 付けずに -u all オプションを指定します。
- キューのスループットを計算するには、 -m、 -S、 -D、または job_ID オプションを 指定せずに -u all オプションを指定します。
スループットの計算に関係するジョブのみがログに記録されます (つまり、DONEまたはEXIT状況)。 実行中のジョブ、中断されたジョブ、またはサブミット後にディスパッチされたことがないジョブは、まだ LSF システム内にあり、 lsb.acct ファイルに記録されていないため、考慮されません。
bacct コマンドは、 bkill -b コマンドで強制終了されたローカル保留バッチ・ジョブを表示しません。 bacct コマンドは、 bkill -b コマンドを使用して強制終了された場合でも、 LSF マルチクラスター機能 ジョブおよびローカル実行ジョブを表示します。
オプション
- -アフフ
- ジョブ内の各タスクの CPU およびメモリー・アフィニティー・リソース要件を持つジョブに関する情報を表示します。 表の見出しAFFINITYジョブ内の各タスクのメモリーおよび CPU バインディングの詳細情報を、割り振り済み処理装置ごとに 1 行で表示します。
-l オプションと一緒にのみ使用してください。
- -b
- 簡潔な形式。
- -E
- 待機時間、ターンアラウンド時間、拡張係数 (ターンアラウンド時間を実行時間で除算)、およびホグ係数 (CPU 時間をターンアラウンド時間で除算) の合計保留時間ではなく、適格な保留時間で計算されたアカウンティング統計を表示します。
- -d
- 正常に完了したジョブのアカウンティング統計を表示します (DONE状況)。
- -e
- 終了したジョブのアカウンティング統計を表示します (EXIT状況)。
- グプ
bacct -l -gpu は、ジョブ終了後の GPU ジョブ割り振りに関する以下の情報を示しています。
このオプションは、 -l オプションと一緒にのみ使用してください。
- ホスト名
- ホストの名前。
- ホスト上の GPU ID
- 各 GPU は別個の行として表示されます。
- TASK および ID
- GPU を使用するジョブ・タスクおよび ID のリスト (複数のタスクで使用する場合はコンマで区切る)
- モデル
- GPU ブランド名とモデル・タイプ名が含まれます。
- 合計
- GPU メモリー・サイズの合計。
- GPU 計算機能
- MRSV (R)
- ジョブによって予約された GPU メモリー
- SOCKET
- 次の場所にある GPU のソケット ID
- NVLINK (リンク)
- ジョブに割り振られた他の GPU との NVLink 接続が GPU にあるかどうかを示します (GPU ID でランク付けされ、GPU 自体を含みます)。 各 GPU の接続フラグは、次の GPU で「/」で区切られた文字です。
GPU 関連のエラーまたは警告が原因でジョブが異常終了した場合は、エラーまたは警告メッセージが表示されます。 LSF が DCGM から GPU 使用情報を取得できなかった場合は、ハイフン (-) 表示。
- -l
- 長形式。 各ジョブの詳細情報を複数行形式で表示します。
ジョブが bsub -K コマンドを使用して実行依頼された場合、 -l オプションは次のように表示します。Synchronous Execution.
- ウフ
- 不定形式のジョブ詳細情報を表示します。
このオプションを使用すると、 bacctでキーワードを構文解析するためのスクリプトを簡単に作成できます。 このオプションの結果には、出力に対する広範な制御はありません。 各行は、行の先頭から始まります。 タイム・スタンプで始まるすべての行は、フォーマット設定されていない状態で単一行に表示されます。 出力には行の長さと形式制御はありません。
- -w
- ワイド・フィールド形式。
- -x
- ジョブ例外をトリガーしたジョブ (overrun、underrun、idle、runtime_est_exceeded) を表示します。 -l オプションとともに使用して、個々のジョブの例外状況を表示します。
- -app アプリケーション・プロファイル名 (application_profile_name)
- 指定されたアプリケーション・プロファイルに実行依頼されたジョブに関するアカウンティング情報を表示します。 lsb.applicationsで構成されている既存のアプリケーション・プロファイルを指定する必要があります。
- -C 時刻0,時刻1
- 指定された時間間隔中に完了または終了したジョブのアカウンティング統計を表示します。 -f オプションを使用してログ・ファイルを指定しない限り、 lsb.acct ファイルとすべてのアーカイブ・ログ・ファイル (lsb.acct.n) を読み取ります。
時刻形式は、 bhist コマンドの場合と同じです。
- -D 時刻0,時刻1
- 指定された時間間隔中にディスパッチされたジョブのアカウンティング統計を表示します。 -f オプションも使用してログ・ファイルを指定しない限り、 lsb.acct ファイルとすべてのアーカイブ・ログ・ファイル (lsb.acct.n) を読み取ります。
時刻形式は、 bhist コマンドの場合と同じです。
- -f ログファイル名 | -f -
- 指定されたジョブ・ログ・ファイルでアカウンティング統計を検索します。これはオフライン分析に役立ちます。 絶対パスまたは相対パスのいずれかを指定してください。
指定するファイル・パスには、UNIX の場合は最大 4094 文字、Windows の場合は最大 512 文字を含めることができます。
-f- オプションを指定して、 bacct コマンドがアカウンティング統計に lsb.acct ログ・ファイルを使用するように強制します。 IBM® Spectrum LSF Explorer ("LSF Explorer") を使用している場合 アカウンティング・ログ・レコードをロードするには、 -f- オプション (またはログ・ファイルを指定する任意の -f 引数) を指定すると、 bacct コマンドは強制的に LSF Explorerをバイパスします。 LSF Explorer を使用してアカウンティング・ログ・レコードをロードする方法について詳しくは、 lsf.conf ファイルの LSF_QUERY_ES_SERVERS パラメーターおよび LSF_QUERY_ES_FUNCTIONS パラメーターを参照してください。
- -Lp ls_project_name...
- 指定された LSF License Scheduler プロジェクトに属するジョブのアカウンティング統計を表示します。 プロジェクトのリストを指定する場合は、プロジェクト名をスペースで区切り、引用符 (") または (') で囲む必要があります。
- -M ホスト・リスト・ファイル
- ホストのリストを含むファイル (host_list_file) にリストされているホストにディスパッチされているジョブのアカウンティング統計を表示します。 ホスト・リスト・ファイルの形式は次のとおりです。
- 複数行がサポートされています
- 各行には、スペースで区切られたホストのリストが含まれます。
- 各行の長さは 512 文字未満でなければなりません
- -m ホスト名 ...
- 指定されたホストにディスパッチされたジョブのアカウンティング統計を表示します。
ホストのリストを指定する場合は、ホスト名をスペースで区切り、引用符 (") または (') で囲む必要があります。最大長は 1024 文字を超えることはできません。
- -N ホスト名 | -N ホストモデル | -N CPUファクター
- 指定されたホストまたはホスト・モデルの CPU 係数、または指定された CPU 係数によって CPU 時間を正規化します。
ジョブ・ログ・ファイルを指定して bacct コマンドをオフラインで使用する場合は、CPU 係数を指定する必要があります。
- -P プロジェクト名 ...
- 指定されたプロジェクトに属するジョブのアカウンティング統計を表示します。 プロジェクトのリストを指定する場合は、プロジェクト名をスペースで区切り、引用符 (") または (') で囲む必要があります。 1 つの二重引用符 (") と 1 つの単一引用符 (') を使用してリストを囲むことはできません。
- -q キュー名 ...
- 指定されたキューに実行依頼されたジョブのアカウンティング統計を表示します。
キューのリストを指定する場合は、キュー名をスペースで区切り、引用符 (") または (') で囲む必要があります。
- -rcacct "すべて | rc_account_name ..."
- 指定された LSF リソース・コネクター・アカウント名に関連付けられているジョブのアカウンティング統計を表示します。
アカウント名のリストを指定する場合は、アカウント名をスペースで区切る必要があります。
- -rcalloc "すべて | rc_account_name ..."
- 指定された LSF リソース・コネクター・アカウント名に関連付けられ、 LSF リソース・コネクター・ホスト上で実際に実行されたジョブのアカウンティング統計を表示します。
アカウント名のリストを指定する場合は、アカウント名をスペースで区切る必要があります。
- -S 時刻0,時刻1
- 指定された時間間隔中に実行依頼されたジョブのアカウンティング統計を表示します。 -f オプションも使用してログ・ファイルを指定しない限り、 lsb.acct ファイルとすべてのアーカイブ・ログ・ファイル (lsb.acct.n) を読み取ります。
時刻形式は、 bhist コマンドの場合と同じです。
- -sla サービス・クラス名
- 指定されたサービス・クラスの下で実行されたジョブのアカウンティング統計を表示します。
デフォルトのシステム・サービス・クラスが lsb.params ファイルで ENABLE_DEFAULT_EGO_SLA パラメーターを使用して構成されているが、 lsb.applications ファイルでは明示的に構成されていない場合、 bacct -sla service_class_name コマンドは、指定されたデフォルト・サービス・クラスのアカウンティング情報を表示します。
- -U reservation_id ...| -U すべて
- 指定された事前予約 ID のアカウンティング統計、またはキーワード all が指定されている場合はすべての予約 ID のアカウンティング統計を表示します。
予約 ID のリストは、スペースで区切り、引用符 (") または (') で囲む必要があります。
-U オプションは、予約の変更に関する履歴情報も表示します。
-U オプションと組み合わせて使用すると、 -u オプションは予約作成者のユーザー名として解釈されます。 次のコマンドは、ユーザー user2によって作成されたすべての拡張予約を表示します。bacct -U all -u user2-u オプションを指定しない場合、 bacct -U コマンドは、ユーザーによって実行依頼されたジョブに関するすべての事前予約情報を表示します。
LSF マルチクラスター機能 環境では、事前予約情報は実行クラスターにのみ記録されるため、 bacct はローカル予約についてのみ事前予約情報を表示します。 リモート予約に関する情報を表示することはできません。 リモート予約 ID を指定することはできません。キーワード all は、ローカル・クラスター内の予約に関する情報のみを表示します。
- -u ユーザー名 ...|-u all
- 指定されたユーザーによって実行依頼されたジョブ、またはキーワード all が指定されている場合はすべてのユーザーによって実行依頼されたジョブのアカウンティング統計を表示します。
ユーザーのリストを指定する場合は、ユーザー名をスペースで区切り、引用符 (") または (') で囲む必要があります。 ユーザー名とユーザー ID の両方をユーザー・リストに指定できます。
- ジョブ ID ...
- 指定されたジョブ ID を持つジョブのアカウンティング統計を表示します。
予約済みジョブ ID 0 が使用されている場合は、無視されます。
LSF マルチクラスター機能 ジョブ転送モードでは、ローカル・ジョブ ID とクラスター名を使用して、リモート・クラスターからジョブの詳細を取得できます。
一般的な照会の構文は以下のとおりです。
bacct submission_job_id@submission_cluster_nameジョブ配列には、以下の照会構文があります。bacct "submission_job_id[index]"@submission_cluster_name"bacct -l job_ID の代わりに submission_job_id@submission_cluster_name を使用する利点は、実行クラスター内のローカル・ジョブ ID を知らなくても、実行クラスター内のローカル・ジョブを照会するための別名として submission_job_id@submission_cluster_name を使用できることです。 bacct 出力は、使用するジョブ ID (ローカル・ジョブ ID または submission_job_id@submission_cluster_name ) に関係なく同一です。
bacct 0 コマンドを使用して、ローカル・クラスター内の完了したすべてのジョブを検索できますが、 bacct 0@submission_cluster_name はサポートされていません。
- -h
- コマンドの使用法を stderr に出力して終了します。
- -V
- LSF リリース・バージョンを stderr に出力して終了します。
デフォルトの出力形式 (SUMMARY)
ジョブに関する統計。 以下のフィールドが表示されます。
- 完了したジョブの合計数。
- 終了したジョブの総数。
- 消費された合計 CPU 時間。
- 消費された平均 CPU 時間。
- ジョブの最大 CPU 時間。
- ジョブの最小 CPU 時間。
- メモリーおよび CPU 使用量の情報 (CPU 効率、CPU ピーク使用量、メモリー効率の値など)。
- キュー内の合計待ち時間。
- キュー内の平均待機時間。これは、ジョブ実行依頼からジョブ・ディスパッチまでの経過時間です。
- キュー内の最大待ち時間。
- キュー内の最小待機時間。
- 平均ターンアラウンド時間。これは、ジョブの実行依頼からジョブの完了までの経過時間 (ジョブごとの秒数) です。
- 最大ターンアラウンド時間。
- 最小ターンアラウンド・タイム。
- ジョブの平均ホグ係数。これは、ジョブによって消費された CPU 時間をそのターンアラウンド時間 (CPU 時間をターンアラウンド時間で除算) で除算したものです。
- ジョブの最大ホグ係数。
- ジョブの最小ホグ係数。
- ジョブの平均拡張係数。これは、ターンアラウンド時間を実行時間 (ターンアラウンド時間を実行時間で除算) で除算したものです。
- ジョブの最大拡張係数。
- ジョブの最小拡張係数。
- 消費された合計実行時間。
- 消費された平均実行時間。
- ジョブの最大実行時間。
- ジョブの最小実行時間。
- 合計スループット。これは、完了したジョブの数を、これらのジョブを終了する期間 (ジョブ/時間) で除算したものです。
- 開始時刻。これは、選択された最初のジョブの完了時刻または終了時刻です。
- 終了時刻。これは、最後に選択されたジョブの完了時刻または終了時刻です。
- クラスター内の終了した一連のジョブのスケジューラー効率。 各ジョブのスケジューラー効率は、ジョブの実行時間を、その実行時間とスケジューラーのオーバーヘッド時間 (実行時間/(実行時間 + スケジューラーのオーバーヘッド)) の合計で除算したものです。 全体的なスケジューラー効率は、すべてのジョブの平均スケジューラー効率です。 bacct コマンドは、スロット・リソースおよびメモリー・リソースのスケジューラー効率を表示します。
合計、平均、最小、および最大の統計は、指定されたすべてのジョブに関するものです。
出力:簡潔な書式 (-b)
デフォルト・フォーマットに加えてSUMMARY、以下のフィールドを表示します。
- U/UID
- ジョブを実行依頼したユーザーの名前。 LSF が getpwuidによってユーザー名を取得できない場合は、ユーザー ID が表示されます。
- QUEUE
- ジョブが実行依頼されたキュー。
- SUBMIT 時間
- ジョブが実行依頼された時刻。
- CPU の T
- ジョブによって消費された CPU 時間。
- WAIT
- ジョブの待ち時間。
- ターンアラウンド
- ジョブのターンアラウンド・タイム。
- 従来
- ジョブの実行依頼元のホスト。
- 実行 (_ON)
- ジョブが実行するためにディスパッチされた 1 つ以上のホスト。
- JOB_NAME
- ユーザーによって割り当てられたジョブ名、または bsub コマンドを使用したジョブの実行依頼時にデフォルトで割り当てられたコマンド・ストリング。 ジョブ名が長すぎてこのフィールドに収まらない場合は、ジョブ名の後半部分のみが表示されます。
表示されるジョブ名またはジョブ・コマンドには、最大 4094 文字を含めることができます。
出力:ロング・フォーマット (-l)
ホスト・ベースのアカウンティング情報も表示します (CPU_T,MEMおよびSWAP) lsf.conf ファイルで LSF_HPC_EXTENSIONS="HOST_RUSAGE" パラメーターが設定されている場合の、完了したジョブの場合。
デフォルトで表示されるフィールドに加えて、SUMMARY-b オプションによって、以下のフィールドが表示されます。
- JOBID
- LSF がジョブに割り当てた ID。
- project_name
- ジョブに割り当てられているプロジェクト名。
- 状況
- ジョブが正常に完了したことを示す状況 (DONEstatus) または exited (EXIT状況)。
- DISPATCH_TIME (ディスパッチ時間)
- 実行ホストで実行するためにジョブがディスパッチされた時刻。
- COMPL_TIME (時間)
- ジョブが終了または完了した時刻。
- ホスト・インターフェース
- 平均ホグ係数。 CPU_time / turnaround_timeに等しい。
- MEM
- ジョブ内のすべてのプロセスの最大常駐メモリー使用量。 デフォルトでは、メモリー使用量は MB 単位で表示されます。 より大きな表示単位 (MB、GB、TB、PB、または EB) を指定するには、 lsf.conf ファイルで LSF_UNIT_FOR_LIMITS パラメーターを使用します。
- CWD
- ジョブの現在の作業ディレクトリー (CWD) の絶対パス。
- 指定された CWD
- ユーザー指定の実行 CWD。
- 交換
- ジョブ内のすべてのプロセスの最大仮想メモリー使用量。 デフォルトでは、スワップ・スペースは MB 単位で表示されます。 より大きな表示単位 (MB、GB、TB、PB、または EB) を指定するには、 lsf.conf ファイルで LSF_UNIT_FOR_LIMITS パラメーターを使用します。
- CPU のピーク
- ジョブによって使用される CPU 番号のピーク値。
- CPU EFFICIENCY (フィックスパック 14 以降、CPU PEAK EFFICIENCY と呼ばれる)
- CPU 効率のパーセンテージ (フィックスパック 14 の場合は CPU ピーク) は、次の式を使用して計算されます。
CPU EFFICIENCY = (CPU_PEAK / CPU_REQUESTED) * 100%
- CPU 平均効率 (CPU AVERAGE EFFICIENCY)
- CPU 平均効率のパーセンテージは、次の式を使用して計算されます。
CPU AVERAGE EFFICIENCY = (CPU_TIME / (JOB_RUN_TIME * CPU_REQUESTED)) * 100%
- CPU ピーク所要時間
- CPU 使用率が実行中のジョブの CPU ピークに達する期間 (秒)。
- メンバー効率
- メモリー効率のパーセンテージは、以下の数式を使用して計算されます。
MEM_EFFICIENCY = (MAX_MEM / (REQUESTED_MEM * MAX_EXECUTION_HOSTS_NUMBER))* 100% - input_file
- ジョブが標準入力を読み取るファイル ( bsub -i input_fileを参照)。
- output_file
- ジョブが標準出力を書き込むファイル ( bsub -o output_fileを参照)。
- ERR ファイル
- ジョブが標準エラー出力を保管するファイル ( bsub -e err_fileを参照)。
- 例外状況
- ジョブの例外状況には、以下の値が含まれます。
- アイドル
- ジョブが消費する CPU 時間が予想より少なくなっています。 ジョブ・アイドル係数 (CPU_time/run_time) が、キューに対して構成されている JOB_IDLE しきい値より小さく、ジョブ例外がトリガーされました。
- オーバーラン
- ジョブの実行時間が、キューの JOB_OVERRUN しきい値で指定された分数を超えており、ジョブ例外がトリガーされました。
- アンダーラン
- ジョブは、キューの JOB_UNDERRUN しきい値で指定された分数よりも早く終了し、ジョブ例外がトリガーされました。
- ランタイム・エスト・エクシード
- ジョブは、ランタイム見積もりで指定された分数より長く実行されており、ジョブ例外がトリガーされました。
- 同期実行 (SYNCHRONOUS_EXECUTION)
- -K オプションを指定してジョブが実行依頼されました。 LSF はジョブを実行依頼し、ジョブが完了するのを待ちます。
- ジョブの説明
- bsubを使用してジョブを実行依頼するときにユーザーによって割り当てられるジョブ記述。 ジョブ記述が割り当てられていない場合、このフィールドは省略されます。
表示されるジョブ記述には、最大 4094 文字を含めることができます。
- ディスパッチされた < 数> ホスト上のタスク数
- ジョブ内のタスクの数、およびそれらのタスクが処理のために送信されたホストの数。 lsf.conf ファイルで ifLSB_ENABLE_HPC_ALLOCATION パラメーターが Y または y に設定されている場合に表示されます。
- 割り振り済み < number> 個のホスト上のスロット
- タスクの数、およびスロットが割り振られているホストに基づいて、ジョブに割り振られたスロットの数。 lsf.conf ファイルで LSB_ENABLE_HPC_ALLOCATION パラメーターが Y または y に設定されている場合に表示されます。
- 有効な RES_REQ
- OR 構文を解決した後にスケジューラーによって認識される、ジョブの有効なリソース要件を表示します。
出力されます:事前予約 (-U)
以下のフィールドを表示します。
- RSVID (R)
- brsvadd コマンドによって割り当てられた事前予約 ID。
- タイプ
- 予約のタイプ:userまたはsystem.
- CREATOR
- brsvadd コマンドを実行依頼した事前予約作成者のユーザー名。
- ユーザー
- bsub -U コマンドを使用してジョブを実行依頼した事前予約ユーザーのユーザー名。
- NCPUS (ミサイル)
- 予約されている CPU の数。
- RSV_ ホスト
- プロセッサーが予約されているホストのリスト、および予約されているプロセッサーの数。
- 時間枠
- 予約の時間枠。
- 一回限りの予約では、スラッシュで区切られたフィールドが表示されます (month/day/hour/minute).
11/12/14/0-11/12/18/0 - 繰り返し予約では、コロンで区切られたフィールドが表示されます (day:hour:minute).
5:18:0 5:20:0
- 一回限りの予約では、スラッシュで区切られたフィールドが表示されます (month/day/hour/minute).
出力される:親和性リソース要求情報 (-l -aff)
ジョブ・タスクの CPU およびメモリー・アフィニティー・リソース割り振りに関するアカウンティング・ジョブ情報を表示するには、 -l -aff オプションを使用します。 見出し付きの表AFFINITY割り振り済み処理装置ごとに 1 行ずつ、各タスクの詳細な類似性情報を含む情報が表示されます。 CPU バインディングとメモリー・バインディングの情報は、画面の個別の列に表示されます。
- ホスト
- タスクが実行されているホスト。
- タイプ
- CPU バインディングのために要求された処理装置タイプ。 次のうち 1 つnuma,socket,core、またはthread.
- 地位
- CPU バインディングの要求された処理装置バインディング・レベル。 次のうち 1 つnuma,socket,core、またはthread. CPU バインディング・レベルが要求されていない場合は、ダッシュ (-) 表示されます。
- EXCL
- 排他的 CPU バインディングのために要求された処理装置バインディング・レベル。 次のうち 1 つnuma,socket,core、またはthread. 排他的バインド・レベルが要求されていない場合には, ダッシュ (-) 表示されます。
- IDS
- タスクの CPU 割り振りの物理 ID または論理 ID のリスト。
リストは、スラッシュ文字 (() で区切られた整数のシーケンスとして表されるパスのセットで構成されます。/)。ホストのトポロジー・ツリーを使用します。 各パスは、タスクに割り振られる固有の処理装置を識別します。 例えば、次の形式のストリングがあるとします。3/0/5/12NUMA ノード 3 のソケット 0 のコア 5 のスレッド 12 への割り振りを表します。 次の形式のストリング2/1/4NUMA ノード 2 のソケット 1 のコア 4 への割り振りを表します。 整数は、 bhosts -affからトポロジー・ツリーに表示されるノード ID 番号に対応します。
- POL
- 要求されたメモリー・バインディング・ポリシー。 以下のいずれかlocalまたはpref. メモリー・バインディングが要求されない場合は,-:NONE.
- NUMA
- タスク・メモリーがバインドされる NUMA ノードの ID。 メモリー・バインディングが要求されない場合は、ダッシュ (-) 表示されます。
- サイズ
- NUMA ノード上のタスクに割り振られているメモリーの量。
bsub -n 6 -R"span[hosts=1] rusage[mem=100]affinity[core(1,same=socket,
exclusive=(socket,injob)):cpubind=socket:membind=localonly:distribute=pack]" myjob
Job <6> is submitted to default queue <normal>.bacct -l -aff 6
Accounting information about jobs that are:
- submitted by all users.
- accounted on all projects.
- completed normally or exited
- executed on all hosts.
- submitted to all queues.
- accounted on all service classes.
------------------------------------------------------------------------------
Job <6>, User <user1>, Project <default>, Status <DONE>, Queue <normal>, Comma
nd <myjob>
Thu Feb 14 14:13:46: Submitted from host <hostA>, CWD <$HOME>;
Thu Feb 14 14:15:07: Dispatched 6 Task(s) on Host(s) <hostA> <hostA> <hostA>
<hostA> <hostA> <hostA>; Allocated <6> Slot(s) on Host(s)
<hostA> <hostA> <hostA> <hostA> <hostA> <hostA>;
Effective RES_REQ <select[type == local] order[r15s:pg]
rusage[mem=100.00] span[hosts=1] affinity
[core(1,same=socket,exclusive=(socket,injob))*1:cpubind=
socket:membind=localonly:distribute=pack] >
;
Thu Feb 14 14:16:47: Completed <done>.
AFFINITY:
CPU BINDING MEMORY BINDING
------------------------ --------------------
HOST TYPE LEVEL EXCL IDS POL NUMA SIZE
hostA core socket socket /0/0/0 local 0 16.7MB
hostA core socket socket /0/1/0 local 0 16.7MB
hostA core socket socket /0/2/0 local 0 16.7MB
hostA core socket socket /0/3/0 local 0 16.7MB
hostA core socket socket /0/4/0 local 0 16.7MB
hostA core socket socket /0/5/0 local 0 16.7MB
Accounting information about this job:
CPU_T WAIT TURNAROUND STATUS HOG_FACTOR MEM SWAP
0.01 81 181 done 0.0001 2M 137M
CPU_PEAK CPU_PEAK_DURATION CPU_PEAK_EFFICIENCY
4.24 54 second(s) 106.02%
CPU_AVG_EFFICIENCY MEM_EFFICIENCY
99.55% 0.00%
------------------------------------------------------------------------------
SUMMARY: ( time unit: second )
Total number of done jobs: 1 Total number of exited jobs: 0
Total CPU time consumed: 0.0 Average CPU time consumed: 0.0
Maximum CPU time of a job: 0.0 Minimum CPU time of a job: 0.0
Total wait time in queues: 81.0
Average wait time in queue: 81.0
Maximum wait time in queue: 81.0 Minimum wait time in queue: 81.0
Average turnaround time: 181 (seconds/job)
Maximum turnaround time: 181 Minimum turnaround time: 181
Average hog factor of a job: 0.00 ( cpu time / turnaround time )
Maximum hog factor of a job: 0.00 Minimum hog factor of a job: 0.00
Average expansion factor of a job: 1.00 (turnaround time/run time)
Maximum expansion factor of a job: 1.00 Minimum expansion factor of a job: 1.00
...bacct によって表示される終了理由
LSF がジョブの終了を検出すると、 bacct -l は以下の終了理由のいずれかを表示します。 ログに記録される、対応する終了コードの整数値JOB_FINISHlsb.acct ファイル内のレコードは括弧内に示されます。
- TERM_ADMIN: ジョブが root または LSF 管理者によって強制終了されました (15)
- TERM_BUCKET_KILL: bkill -b コマンドでジョブが強制終了されました (23)
- TERM_CHKPNT: チェックポイント処理後にジョブが強制終了されました (13)
- TERM_CWD_NOTEXIST: 現行作業ディレクトリーにアクセスできないか、実行ホスト上に存在しません (25)
- TERM_CPULIMIT: ジョブは LSF CPU 使用量制限 (12) に達した後に強制終了されました
- TERM_DEADLINE: 締切期限満了後にジョブが強制終了されました (6)
- TERM_EXTERNAL_SIGNAL: LSF (17) の外部のシグナルによってジョブが強制終了されました
- TERM_FORCE_ADMIN: クリーンアップの時間なしに、ジョブが root または LSF 管理者によって強制終了されました (9)
- TERM_FORCE_OWNER: クリーンアップの時間なしに所有者によってジョブが強制終了されました (8)
- TERM_LOAD: ロードがしきい値 (3) を超えた後にジョブが強制終了されました
- TERM_MEMLIMIT: ジョブは LSF メモリー使用限界 (16) に達した後で強制終了されました
- TERM_ORPHAN_SYSTEM: 孤立ジョブは LSF (27) によって自動的に終了されました。
- TERM_OWNER: ジョブは所有者によって強制終了されました (14)
- TERM_PREEMPT: 優先使用後にジョブが強制終了されました (1)
- TERM_PROCESSLIMIT: ジョブは LSF 処理限界 (7) に達した後で強制終了されました
- TERM_REMOVE_HUNG_JOB: ジョブがジョブ・ランタイム制限 (26) に達した後に、ジョブが LSF システムから削除されました
- TERM_REQUEUE_ADMIN: ジョブが強制終了され、root または LSF 管理者によって再キューイングされました (11)
- TERM_REQUEUE_OWNER: ジョブが強制終了され、所有者によって再キューイングされました (10)
- TERM_RUNLIMIT: ジョブは LSF ランタイム制限 (5) に達した後に強制終了されました
- TERM_SWAP: ジョブは、 LSF スワップ使用制限 (20) に達した後に強制終了されました
- TERM_THREADLIMIT: ジョブは LSF スレッド限界 (21) に達した後に強制終了されました
- TERM_UNKNOWN: LSF が終了理由を判別できません。 0 はログに記録されるが、TERM_UNKNOWN表示されない (0)
- TERM_WINDOW: キュー実行ウィンドウのクローズ後にジョブが強制終了されました (2)
- TERM_ZOMBIE: LSF が使用できないときにジョブが終了しました (19)
例: デフォルト・フォーマット
bacct
Accounting information about jobs that are:
- submitted by users user1.
- accounted on all projects.
- completed normally or exited.
- executed on all hosts.
- submitted to all queues.
- accounted on all service classes.
--------------------------------------------------------------
SUMMARY: ( time unit: second )
Total number of done jobs: 268 Total number of exited jobs: 31
Total CPU time consumed: 566.4 Average CPU time consumed: 1.9
Maximum CPU time of a job: 229.9 Minimum CPU time of a job: 0.0
Total wait time in queues: 393.0
Average wait time in queue: 1.3
Maximum wait time in queue: 97.0 Minimum wait time in queue: 0.0
Average turnaround time: 32 (seconds/job)
Maximum turnaround time: 301 Minimum turnaround time: 0
Average hog factor of a job: 0.16 ( cpu time / turnaround time )
Maximum hog factor of a job: 0.91 Minimum hog factor of a job: 0.00
Average expansion factor of a job: 1.13 (turnaround time/run time)
Maximum expansion factor of a job: 2.04 Minimum expansion factor of a job: 1.00
Total Run time consumed: 9466 Average Run time consumed: 31
Maximum Run time of a job: 300 Minimum Run time of a job: 0
Total throughput: 122.17 (jobs/hour) during 2.45 hours
Beginning time: Oct 20 13:40 Ending time: Oct 20 16:07例: トリガーされたジョブ例外があるジョブ
bacct -x -l
Accounting information about jobs that are:
- submitted by users user1,
- accounted on all projects.
- completed normally or exited
- executed on all hosts.
- submitted to all queues.
- accounted on all service classes.
---------------------------------------------------------
Job <1743>, User <user1>, Project <default>, Status <DONE>, Queue <normal>, Command<sleep 30>
Mon Aug 11 18:16:17 2009: Submitted from host <hostB>, CWD <$HOME/jobs>, Output File </dev/null>;
Mon Aug 11 18:17:22 2009: Dispatched to <hostC>; Effective RES_REQ <select[(hname = delgpu3 ) &&
(type == any)] order[r15s:pg]>;
Mon Aug 11 18:18:54 2009: Completed <done>.
EXCEPTION STATUS: underrun
Accounting information about this job:
CPU_T WAIT TURNAROUND STATUS HOG_FACTOR MEM SWAP
0.19 65 157 done 0.0012 4M 5M
CPU_PEAK CPU_PEAK_DURATION CPU_PEAK_EFFICIENCY
4.24 54 second(s) 106.02%
CPU_AVG_EFFICIENCY MEM_EFFICIENCY
99.55% 0.00%
------------------------------------------------------------
Job <1948>, User <user1>, Project <default>, Status <DONE>, Queue <normal>,Command <sleep 550>,
Job Description <This job is a test job.>
Tue Aug 12 14:15:03 2009: Submitted from host <hostB>, CWD <$HOME/jobs>, Output File </dev/null>;
Tue Aug 12 14:15:15 2009: Dispatched to <hostC>; Effective RES_REQ <select[(hname = delgpu3 ) &&
(type == any)] order[r15s:pg]>;
Tue Aug 12 14:25:08 2009: Completed <done>.
EXCEPTION STATUS: overrun idle
Accounting information about this job:
CPU_T WAIT TURNAROUND STATUS HOG_FACTOR MEM SWAP
0.20 12 605 done 0.0003 4M 5M
CPU_PEAK CPU_PEAK_DURATION CPU_PEAK_EFFICIENCY
4.24 54 second(s) 106.02%
CPU_AVG_EFFICIENCY MEM_EFFICIENCY
99.55% 0.00%
-------------------------------------------------------------
Job <1949>, User <user1>, Project <default>, Status <DONE>, Queue <normal>,Command <sleep 400>
Tue Aug 12 14:26:11 2009: Submitted from host <hostB>, CWD <$HOME/jobs>, Output File </dev/null>;
Tue Aug 12 14:26:18 2009: Dispatched to <hostC>; Effective RES_REQ <select[(hname = delgpu3 )
&& (type == any)] order[r15s:pg]>;
Tue Aug 12 14:33:16 2009: Completed <done>.
EXCEPTION STATUS: idle
Accounting information about this job:
CPU_T WAIT TURNAROUND STATUS HOG_FACTOR MEM SWAP
0.17 7 425 done 0.0004 4M 5M
CPU_PEAK CPU_PEAK_DURATION CPU_PEAK_EFFICIENCY
4.24 54 second(s) 106.02%
CPU_AVG_EFFICIENCY MEM_EFFICIENCY
99.55% 0.00%
Job <719[14]>, Job Name <test[14]>, User <user1>, Project <default>, Status <EXIT>, Queue <normal>,
Command </home/user1/job1>, Job Description <This job is another test job.>
Mon Aug 18 20:27:44 2009: Submitted from host <hostB>, CWD <$HOME/jobs>, Output File </dev/null>;
Mon Aug 18 20:31:16 2009: [14] dispatched to <hostA>; Effective RES_REQ <select[(hname = delgpu3 )
&& (type == any)] order[r15s:pg]>;
Mon Aug 18 20:31:18 2009: Completed <exit>.
EXCEPTION STATUS: underrun
Accounting information about this job:
CPU_T WAIT TURNAROUND STATUS HOG_FACTOR MEM SWAP
0.19 212 214 exit 0.0009 2M 4M
CPU_PEAK CPU_PEAK_DURATION CPU_PEAK_EFFICIENCY
4.24 54 second(s) 106.02%
CPU_AVG_EFFICIENCY MEM_EFFICIENCY
99.55% 0.00%
--------------------------------------------------------------
SUMMARY: ( time unit: second )
Total number of done jobs: 45 Total number of exited jobs: 56
Total CPU time consumed: 1009.1 Average CPU time consumed: 10.0
Maximum CPU time of a job: 991.4 Minimum CPU time of a job: 0.1
Total wait time in queues: 116864.0
Average wait time in queue: 1157.1
Maximum wait time in queue: 7069.0 Minimum wait time in queue: 7.0
Average turnaround time: 1317 (seconds/job)
Maximum turnaround time: 7070 Minimum turnaround time: 10
Average hog factor of a job: 0.01 ( cpu time / turnaround time )
Maximum hog factor of a job: 0.56 Minimum hog factor of a job: 0.00
Average expansion factor of a job: 4.6 (turnaround time/run time)
Maximum expansion factor of a job: 10.2 Minimum expansion factor of a job: 1.00
Total Run time consumed: 28987 Average Run time consumed: 287
Maximum Run time of a job: 6743 Minimum Run time of a job: 2
Total throughput: 0.59 (jobs/hour) during 170.21 hours
Beginning time: Aug 11 18:18 Ending time: Aug 18 20:31例: 事前予約アカウンティング情報
bacct -U user1#2
Accounting for:
- advance reservation IDs: user1#2
- advance reservations created by user1
-------------------------------------------------------- -----------
RSVID TYPE CREATOR USER NCPUS RSV_HOSTS TIME_WINDOW
user1#2 user user1 user1 1 hostA:1 9/16/17/36-9/16/17/38
SUMMARY:
Total number of jobs: 4
Total CPU time consumed: 0.5 second
Maximum memory of a job: 4.2 MB
Maximum swap of a job: 5.2 MB
Total duration time: 0 hour 2 minute 0 second例: LSF ジョブ終了理由ロギング
ジョブが終了すると、 LSF は、そのジョブに対して行った最後のジョブ終了アクションを報告し、それを lsb.acct ファイルに記録します。
ノード障害のために実行中のジョブが終了した場合、 LSF は lsb.acct、 lsb.events、およびジョブ出力ファイルに正しい出口情報を設定します。
bacct -l 7265
Accounting information about jobs that are:
- submitted by all users.
- accounted on all projects.
- completed normally or exited
- executed on all hosts.
- submitted to all queues.
- accounted on all service classes.
--------------------------------------------------------- ---------Job <7265>, User <lsfadmin>, Project <default>, Status <EXIT>, Queue <normal>, Command
<srun sleep 100000>, Job Description <This job is also a test job.>
Thu Sep 16 15:22:09 2009: Submitted from host <hostA>, CWD <$HOME>;
Thu Sep 16 15:22:20 2009: Dispatched to 4 Hosts/Processors <4*hostA>;
Thu Sep 16 15:23:21 2009: Completed <exit>; TERM_RUNLIMIT: job killed after reaching LSF run time limit.
Accounting information about this job:
Share group charged </lsfadmin>
CPU_T WAIT TURNAROUND STATUS HOG_FACTOR MEM SWAP
0.04 11 72 exit 0.0006 0K 0K
CPU_PEAK CPU_PEAK_DURATION CPU_PEAK_EFFICIENCY
4.24 54 second(s) 106.02%
CPU_AVG_EFFICIENCY MEM_EFFICIENCY
99.55% 0.00%
--------------------------------------------------------------------
SUMMARY: ( time unit: second )
Total number of done jobs: 0 Total number of exited jobs: 1
Total CPU time consumed: 0.0 Average CPU time consumed: 0.0
Maximum CPU time of a job: 0.0 Minimum CPU time of a job: 0.0
Total wait time in queues: 11.0
Average wait time in queue: 11.0
Maximum wait time in queue: 11.0 Minimum wait time in queue: 11.0
Average turnaround time: 72 (seconds/job)
Maximum turnaround time: 72 Minimum turnaround time: 72
Average hog factor of a job: 0.00 (cpu time / turnaround time )
Maximum hog factor of a job: 0.00 Minimum hog factor of a job: 0.00
...例: ジョブ情報のサイズ変更
- bsub -ar コマンドおよび bsub -rnc resize_notification_command コマンドが指定されている場合は、ジョブの自動サイズ変更可能属性およびサイズ変更通知コマンド。
- ジョブ割り振りが変更されるたびにJOB_RESIZEイベントは lsb.acct ファイルに記録されます。
Additional allocation on <num_hosts> Hosts/Processors <host_list>
Release allocation on <num_hosts> Hosts/Processors <host_list> by user or
administrator <user_name>
Resize notification accepted;bsub -n 1, 5 -ar myjob初期割り振りがオンhostAおよびhostB。最初のサイズ変更要求は,hostCおよびhostD. 2 回目のサイズ変更要求が割り振られます。hostEbacct -l コマンドの出力は以下のとおりです。
bacct -l 205
Accounting information about jobs that are:
- submitted by all users.
- accounted on all projects.
- completed normally or exited
- executed on all hosts.
- submitted to all queues.
- accounted on all service classes.
-------------------------------------------------
Job <1150>, User <user2>, Project <default>, Status <DONE>, Queue <normal>, Command
<sleep 10>, Job Description <This job is a test job.>
Mon Jun 2 11:42:00 2009: Submitted from host <hostA>, CWD <$HOME>;
Mon Jun 2 11:43:00 2009: Dispatched 6 Task(s) on Host(s) <hostA> <hostB>,
Allocated 6 Slot(s) on Host(s) <hostA> <hostB>,
Effective RES_REQ <select[(hname = delgpu3 ) &&
(type == any)] order[r15s:pg]>;
Mon Jun 2 11:43:52 2009: Added 2 Task(s) on Host(s) 2 Hosts/Processors
<hostC> <hostD>, 2 additional Slot(s) allocated
on Host(s) <hostC> <hostD>
Mon Jun 2 11:44:55 2009: Additional allocation on <hostC> <hostD>;
Mon Jun 2 11:51:40 2009: Completed <done>.
...ファイル
lsb.acct ファイルと lsb.acct.n ファイルを読み取ります。
関連資料
bhist, bsub, bjobs, lsb.acct, brsvadd, brsvs, bsla, lsb.serviceclasses