AS400が遅い時の確認手順|WRKACTJOB・ジョブログ・バッチ・SQLで切り分ける

AS400 / IBM i の現場で「今日は画面が遅い」「夜間バッチが終わらない」「帳票が出るまで時間がかかる」と言われた時、いきなり原因を決めつけるのは危険です。CPU、ディスク、ジョブ待ち、ロック、通信、バッチ集中、SQL、プリンター、外部連携など、遅く見える理由はいくつもあります。

この記事では、AS400が遅い時に初心者・保守担当者が最初に見る順番を整理します。細かいチューニングの前に、まず何が遅いのか、いつから遅いのか、どのユーザーだけなのか、全体なのかを切り分けます。

最初に切り分けること

「AS400が遅い」という言葉だけでは、まだ原因に近づけません。画面操作が遅いのか、バッチが遅いのか、特定メニューだけ遅いのか、全員が遅いのかを分けます。現象を分けるだけで、見るべき場所がかなり変わります。

遅いもの最初に見ること関連ページ
画面操作特定ユーザーか全体か、5250接続、通信、対象メニューACS入門
夜間バッチWRKACTJOB、WRKSBMJOB、ジョブキュー、ジョブログ夜間バッチ障害対応フロー
特定ジョブCPU、経過時間、MSGW、ロック待ち、ジョブログWRKACTJOB確認手順
帳票出力WRKSPLF、OUTQ、プリンター、スプール件数OUTQ / WRKOUTQ確認
SQLやデータ抽出抽出条件、件数、対象ファイル、索引、実行時間IBM i SQL Services入門

調査で残すのは「観測・判断・次の確認」

確認コマンドを順番に実行しただけでは原因を特定できません。遅さが出ている時間の観測を記録し、そこから言えることと言えないことを分けます。

観測できたことまだ断定できないこと次に残す証跡
対象ジョブでLCKWが続くロックを持つ側を終了してよいとは限らない待っている対象、保持側ジョブ、双方の業務、観測時刻
遅い時間にCPUの高いジョブがあるそのジョブが画面遅延の原因とは限らない遅い操作の対象ジョブ、同時間帯の状態、通常時との違い
抽出対象の期間が通常より広い条件の違いだけでSQLの問題と確定できない条件・対象件数・経過時間・出力先。比較のための本番全件再実行はしない
帳票は作成済みだが紙が出ない帳票作成処理そのものが遅いとは限らないスプール作成時刻、出力待ちの状態、OUTQ・印刷装置の状況

WRKACTJOBで全体を見る

まず見る入口は WRKACTJOB です。CPUを多く使っているジョブ、長時間動いているジョブ、MSGW(メッセージ応答待ち)で止まっているジョブ、バッチが集中しているサブシステムを確認します。ここで全体が重いのか、特定ジョブだけが怪しいのかを見ます。

  • CPUを多く使っているジョブはあるか
  • 特定サブシステムにジョブが集中していないか
  • MSGWやLCKWのような待ち状態がないか
  • 夜間バッチが想定時間を超えていないか
  • 直近で新しい処理やデータ量増加がなかったか

ジョブログで異常の始まりを見る

遅いジョブを見つけたら、ジョブログを確認します。最後のメッセージだけでなく、処理が遅くなり始めた付近、繰り返し出ているメッセージ、ファイルオープン、ロック、エラー、MSGWを見ます。処理が止まっているのか、遅いだけなのかを分けることが重要です。

ジョブログの読み方は、AS400のジョブログ確認手順AS400 CPFエラー一覧 を参考にしてください。

データ量と抽出条件を見る

最近遅くなった処理では、データ量が増えていることがあります。日次処理、月次処理、販売管理の売上集計、在庫引当、請求処理、帳票出力などは、対象期間や抽出条件によって実行時間が大きく変わります。

SQLやデータ抽出が関係する場合は、対象ファイル、条件、件数、出力先を確認します。AS400データ抽出ガイド も合わせて確認してください。

本番でやってはいけないこと

  • 原因不明のままジョブを強制終了する
  • MSGWに内容を読まずに返答する
  • 全件抽出SQLを本番で繰り返す
  • バッチ中に対象ファイルを不用意に更新する
  • バックアップや復元手順を確認せず作業する

本番で対応する場合は、AS400本番対応チェックリスト本番障害の初動対応 を先に確認してください。

相談前に残すメモ

メモ内容
発生時刻いつから遅いか、毎日か特定日だけか
対象全体、特定ユーザー、特定メニュー、特定ジョブ
ジョブ情報ジョブ名、ユーザー、ジョブ番号、サブシステム
状態CPU高騰、MSGW、LCKW、長時間実行、スプール待ち
直近変更プログラム修正、データ量増加、締め処理、外部連携変更

性能低下の切り分けの要点

AS400が遅い時は、まず現象を分け、WRKACTJOBで全体を見て、ジョブログで異常の始まりを確認します。画面、バッチ、帳票、SQL、データ抽出のどこが遅いのかを切り分けることが、原因調査の第一歩です。

外部へ相談する場合は、AS400保守会社に相談する前のチェックリスト を使って、対象業務、現象、緊急度、ジョブ情報を整理してください。

ロック待ち・LCKWを確認する

LCKWやロック待ちでジョブが進まない時は、AS400のロック待ち確認手順 を確認してください。WRKACTJOB、WRKOBJLCK、ジョブログ、対象ファイル、業務影響を順番に見ます。

遅い原因をコマンド・SQL・保守観点で分ける

AS400が遅いときは、WRKACTJOBだけで終わらせず、ジョブ、バッチ、SQL、ディスク、直近変更を分けて見ます。SQL Servicesで運用情報を見る場合はIBM i SQL Servicesの確認ポイントも参考になります。

関連する全体像はAS400初心者向け完全ガイド、作業別の確認コマンドはAS400コマンド逆引き、運用・障害対応はAS400保守・運用完全ガイドも合わせて確認してください。

遅い時はロック待ちと外部接続ジョブも見る

AS400が遅い時は、CPUだけでなく、ロック待ち、SQL、QZDASOINIT、夜間バッチ、スプール滞留も確認します。画面が遅いだけに見えても、裏側でODBC/JDBC接続やバッチが同じファイルを保持していることがあります。ロック待ちはLCKW・WRKOBJLCK確認、外部接続はQZDASOINIT確認も合わせて見てください。

問い合わせを受けた段階で対象ジョブや条件が分からない場合は、遅い時に先に聞くこと・問い合わせ記入票を使ってください。利用者の申告と計測値、確認済みと未確認を分けた記入例を掲載しています。

結合条件の不足で抽出結果が膨らみ、出力ファイルがディスクを圧迫した実体験は、QRYでディスク使用率95%を超えた話で、原因と確認すべき条件を整理しています。

参考:IBM公式ドキュメント(WRKACTJOB)

本記事で扱った WRKACTJOB の全パラメーターと表示項目の定義は、IBM公式ドキュメントで確認できます。指定できる値や既定値はOSリリースによって異なるため、本番環境では自社のリリースに合わせて確認してください。