ページの先頭行へ戻る
Systemwalker Operation Manager トラブルシューティングガイド
FUJITSU Software

4.13.4 ジョブスケジューラサーバの処理がハングアップしてしまう【UNIX版】

対象バージョンレベル

対処

原因

同時実行するジョブネットおよびジョブが多い場合や、メッセージ起動のジョブネットが多い場合、ジョブネットおよびジョブの起動が遅れたり、ジョブ実行制御属性のジョブの状態が、ジョブスケジューラで正しく認識できなくなったりすることがあります。

対処方法

以下に示す方法で、メッセージキューを拡張してください。

Solaris 7/8/9の場合:

/etc/systemファイルに以下の設定を追加し、ファイルの編集後にシステムを再起動してください。

set msgsys:msginfo_msgtql=同時起動ジョブネット数(注1) × 4
set msgsys:msginfo_msgmnb=同時起動ジョブネット数(注1) × 200(注2)
set msgsys:msginfo_msgseg(注3)=同時起動ジョブネット数(注1) × 200(注2)
                                                     ÷ msginfo_msgssz値
set msgsys:msginfo_msgmap(注3)=msginfo_msgtql値 + 2(注4)
set msgsys:msginfo_msgmni=4×利用サブシステム数(注5)

注1)

ジョブ実行制御属性およびInterstage属性のジョブネットを利用する場合は、同時起動ジョブ数も足して計算してください。

注2)

“200”は標準的な値であり、ホスト名や出力ファイルへのパスの長さに依存して変化します。十分に検証を行って、適切な値を設定してください。

注3)

Solaris 8以降では、“msgsys:msginfo_msgseg” および“msgsys:msginfo_msgmap”の値を設定する必要はありません。

注4)

先にmsgsys:msginfo_msgtqlの値を求め、その値をもとに計算してください。

注5)

EE版の場合です。SE版の場合は、利用サブシステム数を1としてください。

備考.

msgsys:msginfo_msgmnbとmsgsys:msginfo_msgmapは、最大値を指定するパラメタのため、現在の値が上記より小さい場合に修正してください。それ以外のパラメタについては、現在の値に上記の設定値を加算してください。

Solaris 10以降の場合

/etc/projectファイルの設定値を、以下の値にしてください。

process.max-msg-qbytes=(privileged,同時起動ジョブネット数(注1)×200(注2),deny)
project.max-msg-ids=(privileged,4×利用サブシステム数(注3),deny)

注1)

ジョブ実行制御属性のジョブを利用する場合は、同時起動ジョブ数も足して計算してください。

注2)

“200”は標準的な値であり、ホスト名や出力ファイルへのパスの長さに依存して変化します。十分に検証を行って、適切な値を設定してください。

注3)

EE/GEE版の場合です。SE版の場合は、利用サブシステム数を1としてください。

備考.

max-msg-qbytesとmax-msg-idsのOSのデフォルト値は、以下のとおりです。

  • max-msg-qbytes:64KB

  • max-msg-ids:128

HP-UX版の場合:

システムの管理マネージャなどを使用して、以下のカーネルパラメタを変更し、カーネルを再作成してください。

msgtql  同時起動ジョブネット数(注1) × 4
msgmnb  同時起動ジョブネット数(注1) × 200(注2)
msgseg  同時起動ジョブネット数(注1) × 200(注2) ÷ msgssz値
msgmap  msgtql値+2(注3)
msgmni  4×利用サブシステム数(注4)

注1)

ジョブ実行制御属性のジョブを利用する場合は、同時起動ジョブ数も足して計算してください。

注2)

“200”は標準的な値であり、ホスト名や出力ファイルへのパスの長さに依存して変化します。十分に検証を行って、適切な値を設定してください。

注3)

先にmsgtqlの値を求め、その値をもとに計算してください。

注4)

EE版の場合です。SE版の場合は、利用サブシステム数を1としてください。

備考.

msgmnbとmsgmapは、最大値を指定するパラメタのため、現在の値が上記より小さい場合に修正してください。それ以外のパラメタについては、現在の値に上記の設定値を加算してください。

Linux版の場合:

/etc/sysctl.confファイルに以下の設定を追加し、ファイルの編集後にシステムを再起動してください。

kernel.msgmnb = 同時起動ジョブネット数(注1) × 200(注2)
kernel.msgmni = 4×利用サブシステム数(注3)

注1)

ジョブ実行制御属性のジョブを利用する場合は、同時起動ジョブ数も足して計算してください。

注2)

“200”は標準的な値であり、ホスト名や出力ファイルへのパスの長さに依存して変化します。十分に検証を行って、適切な値を設定してください。

注3)

EE版の場合です。SE版の場合は、利用サブシステム数を1としてください。

備考.

kernel.msgmnbは、最大値を指定するパラメタのため、現在の値が上記より小さい場合に修正してください。それ以外のパラメタについては、現在の値に上記の設定値を加算してください。

(EE版のみ)

Linux版で複数サブシステム運用を行う場合、使用されるメッセージキューの数は、サブシステム数の4倍になります。そのため、使用可能なメッセージキューの最大数をオーバーしてしまい、サブシステムの起動ができなくなることがあります。

この場合は、/etc/sysctl.confファイルに以下の設定を追加し、システムで使用可能なメッセージキューの最大数を拡張してください。ファイルの編集後にはシステムを再起動してください。

kernel.msgmni(使用可能なメッセージキューの最大数)=4×利用サブシステム数