IWSのメッセージファイル(*.msg)を変更する
IWSのメッセージファイルサイズを変更するかもしれないので、事前検証。
色々検証した結果、従来バージョンと手順は変わりません。
従来バージョン(少なくとも 8.6時代まで)での変更方法
- 一時的に変更するには、evtsize コマンドで変更
- 恒久的に変更するには、環境変数 EVSIZEを設定して、プロセス再起動。
IWS 9.4の場合
デフォルト値の確認
まずはメッセージファイルがあることを確認
IWS管理ユーザーで、/opt/IBM/TWA/TWSへ移動
[iwsadm@iws94 TWS]$ ls -l *.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 5月 16 14:54 2017 Appserverbox.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 5月 16 15:00 2017 Courier.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 5月 16 15:00 2017 Intercom.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 5月 16 15:00 2017 Mailbox.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 5月 16 15:00 2017 Monbox.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 5月 16 14:59 2017 Moncmd.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 5月 16 15:00 2017 auditbox.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 12月 26 00:30 2016 clbox.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 5月 16 15:00 2017 mirrorbox.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 5月 16 14:57 2017 mirrorbox_0.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 5月 16 14:57 2017 mirrorbox_1.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 5月 16 14:57 2017 mirrorbox_2.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 5月 16 14:57 2017 mirrorbox_3.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 5月 16 14:57 2017 mirrorbox_4.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 5月 16 14:58 2017 planbox.msg
-rwxr-xr-x 1 iwsadm iwsgrp 48 5月 16 14:58 2017 server.msg
[iwsadm@iws94 TWS]$
[iwsadm@iws94 TWS]$ ls -l ./pobox
合計 20
-rw------- 1 iwsadm iwsgrp 3684 5月 10 13:49 2017 AGENT1.msg
-rw------- 1 iwsadm iwsgrp 48 5月 16 14:57 2017 IWS2.msg
-rw------- 1 iwsadm iwsgrp 48 1月 27 20:58 2017 IWS2XA.msg
-rw------- 1 iwsadm iwsgrp 48 12月 26 11:17 2016 IWS94_1.msg
-rw------- 1 iwsadm iwsgrp 48 5月 12 14:31 2017 IWS94_DWB.msg
[iwsadm@iws94 TWS]$
ファイルのサイズを確認
下記はMailbox.msgのファイルサイズを確認した例。マスター、FTA共にIWS 9.4ではデフォルトサイズは60MBに設定されているようです。
[iwsadm@iws94 TWS]$ evtsize -show Mailbox.msg
Tivoli Workload Scheduler (UNIX)/EVTSIZE 9.4.0.00 (20161202)
Licensed Materials - Property of IBM* and HCL**
5698-WSH
(C) Copyright IBM Corp. 1998, 2010 All rights reserved.
(C) Copyright HCL Technologies Ltd. 2016 All rights reserved.
- International Business Machines の商標
** HCL Technologies Limited の商標
AWSDEK703I キュー・サイズは現行 0 で、最大 60000000 バイトです (読み取り 48 で、書き込み 48)
[iwsadm@iws94 TWS]$
IWSを停止する
[iwsadm@iws94 TWS]$ conman "unlink @;noask"
[iwsadm@iws94 TWS]$ conman "stopmon ;wait"
[iwsadm@iws94 TWS]$ conman "stopappserver ;wait"
[iwsadm@iws94 TWS]$ conman "stop ;wait"
[iwsadm@iws94 TWS]$ conman "shut ;wait"
[iwsadm@iws94 TWS]$ ./ShutDownLwa
ファイルサイズを変更する
[iwsadm@iws94 TWS]$ evtsize Mailbox.msg 100000000
evtsizeコマンドは現在のメッセージファイルのサイズを変更するときに使用します。
ファイル毎に変更する必要があります。
IWSを起動する。
[iwsadm@iws94 TWS]$ StartUp
[iwsadm@iws94 TWS]$ conman start
[iwsadm@iws94 TWS]$ conman startmon
[iwsadm@iws94 TWS]$ conman "link @;noask"
ResetPlan -scratch でファイルサイズはリセットされるか
ResetPlan -scratchコマンドは、実動計画(Symphony ファイル)と実動前計画(TWS DBに格納)を削除するコマンドです。メッセージファイルは削除していないと思いますが、念のため確認。
現在のファイルサイズを確認
[iwsadm@iws94 TWS]$ evtsize -show Mailbox.msg
Tivoli Workload Scheduler (UNIX)/EVTSIZE 9.4.0.00 (20161202)
Licensed Materials - Property of IBM* and HCL**
5698-WSH
(C) Copyright IBM Corp. 1998, 2010 All rights reserved.
(C) Copyright HCL Technologies Ltd. 2016 All rights reserved.
- International Business Machines の商標
** HCL Technologies Limited の商標
AWSDEK703I キュー・サイズは現行 0 で、最大 100000000 バイトです (読み取り 48 で、書き込み 48)
[iwsadm@iws94 TWS]$
ResetPlan -scratch 実行
[iwsadm@iws94 TWS]$ ResetPlan -scratch
リセット後にファイルサイズを確認
[iwsadm@iws94 TWS]$ evtsize -show Mailbox.msg
Tivoli Workload Scheduler (UNIX)/EVTSIZE 9.4.0.00 (20161202)
Licensed Materials - Property of IBM* and HCL**
5698-WSH
(C) Copyright IBM Corp. 1998, 2010 All rights reserved.
(C) Copyright HCL Technologies Ltd. 2016 All rights reserved.
- International Business Machines の商標
** HCL Technologies Limited の商標
AWSDEK703I キュー・サイズは現行 1836 で、最大 100000000 バイトです (読み取り 48 で、書き込み 1884)
[iwsadm@iws94 TWS]$
リセットされませんね。
IWS 9.4におけるメッセージファイルサイズ変更方法のまとめ
①既存メッセージファイルの変更はevtsizeで行う。TWS、WASプロセスは必ず停止する。
②EVSIZE環境変数を使用する場合は、TWSとWASのプロセスを停止し、*.msgファイルを全て削除し、.bash_profileなどでEVSIZE環境変数をセットしてからTWSとWASを再起動する。
IWS 9.4はメッセージファイルの数も多いので②の方法が手っ取り早いが、新サイズを有効にするためにはファイルの再作成が必要なので、.msgファイルを全て削除する必要がある。.msgファイルが全て48byteの状態(空の状態)で実施しないとメッセージロスのリスクがある。
48byteにするためには、unlinkしてワークステーション制限を0にして、そのワークステーションのジョブが全て流れきるのを待つことになる。(それで48byteにできるかは要検証。)
メッセージロスのリスクを最小化したい場合は①の方法で全ファイルに対してevtsizeコマンドを実行する。ただし手間暇かかる。