WRKACTJOBの見方|AS400でジョブ状態・MSGW・CPUを確認する

AS400 / IBM i の保守で、障害調査の入口になるコマンドの一つが WRKACTJOB です。

販売管理システムの現場では、客先から「処理がおかしい」「画面が返ってこない」「バッチが進んでいない」と問い合わせが来た時点で、まず WRKACTJOB を見ることがあります。ジョブが動いているのか、止まっているのか、MSGWで応答待ちになっているのかを切り分ける入口になるからです。

この記事では、25年以上AS400 / IBM i の販売管理システム保守に関わってきた立場から、WRKACTJOB で最初に見るところ、MSGWを見つけた時の注意、初心者がやりがちな危ない対応を整理します。

AS400のWRKACTJOB画面。活動ジョブ、ユーザー、タイプ、CPU、機能、状態を確認する例
WRKACTJOBでは、活動中のジョブ、ユーザー、タイプ、CPU使用率、機能、状態を確認できます。販売管理の保守では、まず異常なジョブがないかを見る入口になります。

WRKACTJOBとは

WRKACTJOB は、AS400 / IBM i 上で活動しているジョブを確認するためのコマンドです。対話ジョブ、バッチジョブ、サブシステムジョブなど、システム上で動いているジョブの状態を一覧で確認できます。

WRKACTJOB

初心者向けに一言でいうと、「今AS400上で何が動いているかを見る画面」です。障害調査では、ここで全体の様子を見てから、対象ジョブのジョブログや周辺状況を追っていきます。

最初に見るのはCPU使用率とMSGW

私が WRKACTJOB を見る時に最初に確認するのは、CPU使用率とMSGWです。

最初に見る項目見る理由現場での判断
CPU使用率暴走しているジョブがないか確認する異常にCPUを使っているジョブがあれば、処理内容や影響範囲を調べる
MSGWジョブがメッセージ応答待ちで止まっていないか確認するジョブログを見て、何が起きているか把握してから応答を考える
機能どのプログラムや処理で動いているかを見る販売管理のどの処理に影響するかを考える
ユーザー・ジョブ名誰のジョブか、どの処理かを見る対象者や対象処理を切り分ける

CPU使用率が異常に高いジョブがある場合は、暴走ジョブの可能性があります。もちろん、単に重い処理が動いているだけの場合もありますが、「いつもと違う動き」かどうかを見ることが大切です。

もう一つ重要なのが MSGW です。MSGWは、ジョブがメッセージ応答待ちになっている状態です。販売管理のバッチや連携処理がMSGWで止まっていると、後続処理に影響することがあります。

MSGWの返答判断を詳しく知りたい場合は、AS400のMSGWとは?メッセージ待ちジョブを見つけた時の確認手順で整理しています。

MSGWを見つけた時に初心者がやりがちな危ない対応

初心者がやりがちな危ない対応は、MSGWを見つけてすぐに4番などでジョブを強制終了しようとすることです。

気持ちは分かります。画面上で止まっているジョブを見ると、「早く消さないと」と思ってしまうかもしれません。ただ、そこで焦ってジョブを終わらせると、処理途中のデータ、後続処理、連携処理に影響する可能性があります。

まず落ち着いて、ジョブログを見ます。何が起きているのか、どのプログラムで止まっているのか、ファイルオープンなのか、権限なのか、データエラーなのか、メッセージの前後を確認します。

AS400のWRKACTJOB画面でMSGW状態のジョブが表示されている例。PGM-TEST001Rがメッセージ待ちになっている
MSGWを見つけたら、まずジョブログを確認します。いきなり強制終了するのではなく、何が起きているかを把握してから応答や対応方針を決めます。

MSGWを見つけた時の確認順

MSGWを見つけた時、私は次のような順番で考えます。

順番確認すること注意点
1どのジョブがMSGWかジョブ名、ユーザー、機能を確認する
2何の処理か販売管理なら受注、出荷、在庫、売上、請求、連携のどれかを考える
3ジョブログ最後のメッセージだけでなく、前後のCALLやファイル操作を見る
4業務影響後続処理や店舗・物流連携に影響があるか確認する
5応答・対応方針勝手に強制終了せず、必要なら上長やメンバーに確認する

若手に教えるなら、まず「MSGWを見つけたら上長に報告」と言います。今どきは監視や検知システムを入れていて、自動的にメールが飛ぶ仕組みを作っている現場も多いと思います。それでも、画面でMSGWを見つけた時に勝手な判断をしないことは大事です。

RUN、DEQW、SELW、MSGWの見方

WRKACTJOB では、ジョブの状態を確認できます。現場で特に気にするのはMSGWですが、RUN、DEQW、SELWなども見かけます。

状態大まかな見方現場での考え方
RUN実行中通常の処理中。ただしCPU使用率が高すぎる場合は暴走や長時間処理を疑う
MSGWメッセージ応答待ち最優先で内容確認。ジョブログを見て対応を考える
DEQW待機状態すぐ異常とは限らない。処理内容や待ち状態の理由を見る
SELW待機状態の一種単独では判断しない。処理内容や周辺状況を確認する

ただし、状態名だけで判断しない方がいいです。たとえばRUNでも、CPUを異常に使っているなら気になります。MSGWなら、内容を見ずに終わらせるのは危険です。状態は入口であり、最終判断はジョブログや業務影響を見て行います。

販売管理システムでWRKACTJOBを見る場面

販売管理システムでは、客先から「おかしい」と問い合わせがあった時点で WRKACTJOB を見ることがあります。

たとえば、出荷処理が進んでいない、在庫引当が終わらない、売上計上のバッチが遅い、店舗連携や物流連携が止まっているように見える。こういう時に、まずシステム側でジョブが動いているのか、MSGWで止まっているのか、CPUを食っているジョブがないかを確認します。

逆に、たまに WRKACTJOB を開いたまま、ずっとF5で画面更新している人もいます。気持ちは分かりますが、それだけでは原因は分かりません。画面を眺め続けるより、異常らしいジョブを見つけたら、ジョブログや周辺処理、業務影響を調べる方が大事です。

WRKACTJOBから次に何を見るか

WRKACTJOB は入口です。異常ジョブを見つけたら、そこで終わりではありません。

WRKACTJOB
WRKJOB JOB(123456/USER/TESTJOB)
DSPJOBLOG JOB(123456/USER/TESTJOB)

実際には、単純に「WRKACTJOBからWRKJOBへ遷移する」というより、異常ジョブを見つけたらジョブログを含めて周辺状況を調べます。どの処理で止まったのか、前後のメッセージは何か、後続処理に影響するのかを見て、対処を考えます。

関連する確認手順は、AS400のジョブログ確認手順AS400バッチ処理の確認手順AS400の本番対応で初心者がやってはいけないことでも整理しています。

初心者向けチェックリスト

チェック内容
CPU使用率を見る暴走ジョブがないか確認する
MSGWを見る応答待ちで止まっているジョブがないか確認する
ジョブ名と機能を見るどの処理が動いているか確認する
ジョブログを見る何が起きたかを前後のメッセージで確認する
勝手に強制終了しない影響範囲を確認し、必要なら上長へ報告する

WRKACTJOBで見つけた異常をどう切り分けるか

WRKACTJOBは、画面を開いて眺めるためのものではありません。たまに画面を開いたままF5で更新し続ける人がいますが、それだけでは原因調査になりません。見るべきなのは、CPUを食っているジョブ、MSGWで止まっているジョブ、そして業務上止まると困る処理かどうかです。

見つけた状態最初に考えること次に見るもの
MSGWメッセージ返答待ち。勝手に4番終了しないMSGWの詳細メッセージ、ジョブログ
CPUが高い暴走か、重い処理が正常に走っているだけかを分けるジョブ名、ユーザー、機能、経過時間
DEQWデータ待ち・キュー待ちの可能性前後のバッチ、関連ジョブ
RUN動いているだけで異常とは限らない処理時間、件数、業務影響

販売管理システムでは、受注、出荷、在庫引当、売上計上、請求、外部I/Fがつながっています。WRKACTJOBで異常を見つけたら、「ジョブが止まっているか」だけではなく、「商品が客に届く流れに影響するか」を先に考えます。

若手に教えるなら、MSGWを見つけたらまず上長に報告です。返答文字を入れる前に、何が止まっているのか、どの業務に影響するのか、リトライで戻せるのかを確認します。

WRKACTJOBで見つけた後はWRKJOBで詳細を見る

WRKACTJOBは、活動中のジョブを見つける入口です。MSGWやCPU使用率の高いジョブを見つけたら、そこで終わりではなく、対象ジョブを特定してWRKJOBやジョブログ確認へ進みます。

入口役割次に見るもの
WRKACTJOB異常ジョブを見つけるジョブ名・ユーザー・番号
WRKJOB対象ジョブの詳細を見るスプール・ファイル、ジョブログ
DSPJOBLOG実行時の流れを見る重大度、メッセージID、前後のメッセージ

この流れは、WRKJOBとDSPJOBLOGの記事にまとめています。

WRKACTJOBで最初に見る列

WRKACTJOBは、AS400上で動いているジョブを一覧で見る入口です。初心者は、すべての列を一度に覚えるより、まずジョブ名、ユーザー、サブシステム、状態、CPU使用率、メッセージ待ちを見ます。MSGWが出ている場合は、画面だけで判断せず、ジョブログやメッセージ詳細へ進みます。

見る場所意味次に確認すること
状態RUN、MSGW、LCKWなど現在の状態MSGWならメッセージ詳細、LCKWならロック元を確認
CPU%CPUを多く使っているジョブ長時間続くか、特定処理だけかを見る
ユーザー誰のジョブか自分のジョブか、バッチか、業務ユーザーかを分ける
サブシステムどの処理領域で動いているか対話、バッチ、通信などを切り分ける
ジョブ名処理やプログラムの手がかりWRKJOB、DSPJOBLOGで詳細を見る

MSGWの判断は MSGWの確認手順、ジョブログの読み方は ジョブログ確認手順、基本コマンド全体は AS400コマンド一覧 と合わせて確認してください。

まとめ

WRKACTJOB は、AS400の障害調査で最初に見ることが多い画面です。CPU使用率で暴走ジョブがないかを見る。MSGWで止まっているジョブがないかを見る。異常があれば、ジョブログや周辺処理を確認して対処を考える。

一番大事なのは、MSGWや暴走ジョブの早期発見です。ただし、見つけた瞬間に焦って強制終了するのではなく、落ち着いて原因を確認すること。WRKACTJOBは「眺める画面」ではなく、次の調査に進むための入口です。

WRKACTJOBで異常を見つけた後に確認すること

WRKACTJOBは、CPUが高いジョブやMSGW、LCKW、夜間バッチ停止を見つける入口です。異常らしいジョブを見つけたら、画面を眺め続けず、ジョブ詳細、ジョブログ、返信判断、業務影響へ進みます。

現場では、WRKACTJOBで見つけた状態を「CPU」「MSGW」「LCKW」「JOBQ待ち」「夜間バッチ停止」に分けるだけで、次に見る画面と報告内容がかなり整理しやすくなります。