第2章 Systemwalker Operation Managerの動作環境を定義する
2.2 システムの定義
2.2.4 システムパラメタのチューニング【 UNIX 版】
Systemwalker Operation Managerを安定した状態で動作させるため、UNIX版の場合は、システムパラメタのチューニング
を行う必要があります。チューニングが必要なシステムパラメタとその値については、以下の表を参照してください。パラ メタにより、既に設定されている値(初期値)に加算する場合と、既に設定されている値と比較し大きい方の値(最大)を設 定する場合があります。(加算の場合、設定のシステム上限値も確認してください。) 各パラメタがどちらにあたるかは、表 の“種別”を参照してください。
システムパラメタの設定方法の詳細は、OSのマニュアルを参照してください。
Solaris 9の場合
システムパラメタのチューニング値
[共有メモリ]パラメタ 説明 値 種別
shmsys:shminfo_shmma x
共有メモリセグメントの最大サイズ 70000(バイト) 最大
shmsys:shminfo_shmmni システム全体で作成できる共有メモ
リセグメントの最大数
サブシステム数+1 加算
[メッセージキュー]
パラメタ 説明 値 種別
msgsys:msginfo_msgmax メッセージの最大サイズ 1024 最大
msgsys:msginfo_msgmnb 待ち行列上の最大バイト数 同時起動ジョブネット数
(注1) × 200(注2)
最大
msgsys:msginfo_msgmni メッセージ待ち行列識別子の
数
4×利用サブシステム 数(注3)
加算
msgsys:msginfo_msgtql メッセージのヘッダ数 同時起動ジョブネット数
(注1) × 4
加算
注1)
ジョブ実行制御属性およびInterstage属性のジョブネットを利用する場合は、同時起動ジョブ数も足して計算してくだ さい。
注2)
“200”は標準的な値であり、ホスト名や出力ファイルへのパスの長さに依存して変化します。
十分に検証を行って、適切な値を設定してください。
注3)
EE/GEE版の場合です。SE版の場合は、利用サブシステム数を1としてください。
[セマフォ]
パラメタ 説明 値 種別
semsys:seminfo_semmni セマフォ識別子の数 2 加算
semsys:seminfo_semopm 1回のsemopコールに許容され るセマフォ操作数
2 最大
値
semsys:seminfo_semmns システム内のセマフォ数 2 加算
semsys:seminfo_semmnu システム内のundo構造体の数 2 加算
semsys:seminfo_semume プロセス当たりの使用可能な
undo構造体の数
2 最大
値
semsys:seminfo_semmsl セマフォ識別子当たりのセマ
フォ数
1 最大
値
チューニング作業手順
1. 以下のコマンドを使用して現在システムに設定されている上記表に該当するパラメタの設定値を確認します。
#/usr/sbin/sysdef
2. 上記の表(システムパラメタのチューニング値)を参照し、現在の設定値と比較を行い、パラメタごとに最大、加算の 種別を考慮して、適切な設定値を算出します。
3. /etc/systemを編集します。
システムパラメタをチューニングするために、/etc/systemファイルにチューニングのためのレコードを、以下の例の ように編集します。
例: Solaris 9上で3つのサブシステムを利用し、同時起動ジョブネット数を50とする場合の例
set shmsys:shminfo_shmmni = 104
set msgsys:msginfo_msgmnb = 10000 set msgsys:msginfo_msgmni = 62 set msgsys:msginfo_msgtql = 240 set semsys:seminfo_semmni = 12 set semsys:seminfo_semmns = 62 set semsys:seminfo_semmnu = 32
4. システムパラメタを変更した後は、システムの再起動が必要です。再起動のコマンドを以下に示します。
# cd /
# /usr/sbin/shutdown -y -i6 -g0
5. システム再起動後、設定したシステムパラメタが反映されていることを、以下のコマンドの出力から確認します。
# /usr/sbin/sysdef [表示例]
#/usr/sbin/sysdef ・
・ (省略)
・ ・
*
* IPC Messages
*
2048 max message size (MSGMAX) 10000 max bytes on queue (MSGMNB) 62 message queue identifiers (MSGMNI) 240 system message headers (MSGTQL)
*
* IPC Semaphores
*
12 semaphore identifiers (SEMMNI) 62 semaphores in system (SEMMNS) 32 undo structures in system (SEMMNU) 25 max semaphores per id (SEMMSL) 10 max operations per semop call (SEMOPM) 10 max undo entries per process (SEMUME) 32767 semaphore maximum value (SEMVMX) 16384 adjust on exit max value (SEMAEM)
*
* IPC Shared Memory
*
1048576 max shared memory segment size (SHMMAX) 1 min shared memory segment size (SHMMIN) 104 shared memory identifiers (SHMMNI)
6 max attached shm segments per process (SHMSEG) ・
・ (省略)
・ ・ Solaris 10の場合
Solaris 10には、プロジェクトという概念があります。Systemwalker Operation Managerは、以下のプロジェクトで動作しま す。
・ systemプロジェクト
OS初期設定状態で存在するデーモンなどが動作するプロジェクト
・ user.rootプロジェクト
OS初期設定状態でroot権限により動作するプロセスが所属するプロジェクト
システムパラメタのチューニング値
[共有メモリ]
パラメタ 説明 OS初期値 値 種別 特権
project.max-shm-memory
共有メモリセグメント の最大サイズ
OS物理メ モリサイズ (バイト)/4
70000×利用サブシステ ム数(注) 以上の値
加算 特権レ ベル
注)
EE/GEE版の場合です。SE版の場合は、利用サブシステム数を1としてください。
共有メモリを使用するジョブをSystemwalker Operation Managerから起動する場合、ジョブプロセスが利用する共有メ モリのサイズを考慮して、/etc/projectファイルでsystemおよびuser.rootプロジェクトのproject.max-shm-memoryの値を 設定する必要があります。
[メッセージキュー]
パラメタ 説明 OS初期値 値 種別 特権
process.max-msg-qbytes 待ち行列上の最大バ イト数
64(KB) (privileged,同時起動ジョ ブネット数(注1)×200(注 2),deny)
最大 特権レ ベル
project.max-msg-ids メッセージ待ち識別
子の数
128 (privileged,4×利用サブ
システム数(注3),deny)
加算 特権レ ベル 注1)
ジョブ実行制御属性のジョブを利用する場合は、同時起動ジョブ数も足して計算してください。
注2)
“200”は標準的な値であり、ホスト名や出力ファイルへのパスの長さに依存して変化します。
十分に検証を行って、適切な値を設定してください。
注3)
EE/GEE版の場合です。SE版の場合は、利用サブシステム数を1としてください。
[セマフォ]
パラメタ 説明 OS初期値 値 種別 特権
project.max-sem-ids セマフォ識別子の数 128 2 加算 特権レ
ベル
process.max-sem-ops 1回のsemopコールに許容さ
れるセマフォ操作数
512 2 最大値 特権レ
ベル
process.max-sem-nsems セマフォ識別子当たりのセマ
フォ数
512 1 最大値 特権レ
ベル
[スタックサイズ]
パラメタ 説明 OS初期値 値 種別 特権
process.max-stack-size プロセスで使用できるスタック
メモリセグメントの最大サイズ
8 20000
00
最大値(注) 基本レ ベル
注) Systemwalker Operation Managerのみで運用する場合は、システムのデフォルト値のままで問題ありません。他製品 とともに運用する場合は、他製品の最大値と合わせてシステムパラメタをチューニングしてください。
システムパラメタの設定
システムパラメタを編集するには、/etc/projectファイルを編集します。
システムパラメタを設定する際には、システムの初期値および、設定可能名値の上限を確認した後、値を確認してくださ い。確認方法の例は以下のとおりです。
# projects -l
[/etc/projectファイル編集例]
以下は、同時起動ジョブネット数80、利用サブシステム数5の場合の設定例です。物理メモリは、1Gを搭載しています。
system:0::::project.max-msg-ids=(privileged,148,deny);process.max-msg- qbytes=(privileged,65536,deny);project.max-sem-ids=(privileged,130,deny);process.max- sem-ops=(privileged,512,deny);process.max-sem-nsems=(privileged,512,deny);project.max-shm-memory=(privileged,268785456,deny);process.max-stack-size=(basic,8388608,deny)
user.root:1::::project.max-msg-ids=(privileged,148,deny);process.max-msg- qbytes=(privileged,65536,deny);project.max-sem-ids=(privileged,130,deny);process.max- sem-ops=(privileged,512,deny);process.max-sem-nsems=(privileged,512,deny);project.max-shm-memory=(privileged,268785456,deny);process.max-stack-size=(basic,8388608,deny) noproject:2::::
default:3::::
group.staff:10::::
システムパラメタの確認
上記設定をした後、以下のコマンドにより設定情報を確認できます。
# projects -l [確認コマンド実行例]
# projects -l system
projid : 0 comment: ""
users : (none) groups : (none)
attribs: project.max-msg-ids=(privileged,148,deny) process.max-msg-qbytes=(privileged,65536,deny) project.max-sem-ids=(privileged,130,deny) process.max-sem-ops=(privileged,512,deny) process.max-sem-nsems=(privileged,512,deny) project.max-shm-memory=(privileged,268785456,deny) process.max-stack-size=(basic,8388608,deny)
user.root projid : 1 comment: ""
users : (none) groups : (none)
attribs: project.max-msg-ids=(privileged,148,deny) process.max-msg-qbytes=(privileged,65536,deny) project.max-sem-ids=(privileged,130,deny) process.max-sem-ops=(privileged,512,deny) process.max-sem-nsems=(privileged,512,deny) project.max-shm-memory=(privileged,268785456,deny) process.max-stack-size=(basic,8388608,deny)
noproject projid : 2 comment: ""
users : (none) groups : (none) attribs:
default projid : 3 comment: ""
users : (none) groups : (none) attribs:
group.staff projid : 10 comment: ""
users : (none) groups : (none) attribs:
Linuxの場合
システムパラメタのチューニング値
[メッセージキュー]パラメタ 説明 値 種別
kernel.msgmnb 待ち行列上の最大バイト数 同時起動ジョブネット数
(注1) × 200(注2)
最大
kernel.msgmni メッセージ待ち行列識別子の
数
4×利用サブシステム 数(注3)
加算
注1)
ジョブ実行制御属性のジョブを利用する場合は、同時起動ジョブ数も足して計算してください。
注2)
“200”は標準的な値であり、ホスト名や出力ファイルへのパスの長さに依存して変化します。十分に検証を行って、適 切な値を設定してください。
注3)
EE版の場合です。SE版の場合は、利用サブシステム数を1としてください。
Linux版で複数サブシステム運用を行う場合、使用されるメッセージキューの数は、サブシステム数の4倍になります。そ のため、使用可能なメッセージキューの最大数をオーバーしてしまい、サブシステムの起動ができなくなることがありま す。
この場合は、/etc/sysctl.confファイルに以下の設定を追加し、システムで使用可能なメッセージキューの最大数を拡張し てください。ファイルの編集後にはシステムを再起動してください。
kernel.msgmni(使用可能なメッセージキューの最大数)=4×利用サブシステム数
[セマフォ]
セマフォの設定値は、各パラメタ値を以下の形式で指定します。
kernel.sem = para1 para2 para3 para4
パラメタ 説明 値 種別
para1 セマフォ識別子当たりの最大セマフォ数 1 最大
para2 システム全体のセマフォ数 2 加算
para3 セマフォコールあたりの最大演算子数 2 最大
para4 システム全体のセマフォ識別子数 2 加算
チューニング作業手順
1. 以下のコマンドを使用して現在システムに設定されている上記表に該当するパラメタの設定値を確認します。
#/sbin/sysctl -a
2. 上記の表(システムパラメタのチューニング値)を参照し、現在の設定値と比較を行い、パラメタごとに最大、加算の 種別を考慮して、適切な設定値を算出します。
3. /etc/sysctl.confを編集します。
システムパラメタをチューニングするために、/etc/sysctl.confファイルにチューニングのためのレコードを、以下の例 のように編集します。
例: 3つのサブシステムを利用し、同時起動ジョブネット数を50とする場合の例
kernel.sem=1100 38151 200 3309 kernel.msgmni=28
kernel.shmmax=4000000000 kernel.shmmni=25512
4. /etc/sysctl.confへの編集内容が反映されていることを、以下のコマンドで確認します。
#/bin/cat /etc/sysctl.conf
5. 上記設定を有効にするために、下記のどちらかの方法を実行します。
方法1 :システムをリブートして設定を反映
# cd /
# /sbin/shutdown -r now
方法2 : /sbin/sysctl -p を使用して設定を反映
# /sbin/sysctl -p /etc/sysctl.conf
このコマンドを使用した場合リブートの必要がありません。
6. 設定したシステムパラメタが反映されていることを、以下のコマンドの出力から確認します。
# /sbin/sysctl -a [確認例]
・ (省略)
・
kernel.sem = 1100 38151 200 3309 kernel.msgmnb = 65536
kernel.msgmni = 28 kernel.msgmax = 65536 kernel.shmmni = 25512 kernel.shmall = 2097152 kernel.shmmax = 4000000000 ・
(省略)
・ HP-UXの場合
システムパラメタのチューニング値
[メッセージキュー]・ IPF版 HP-UX 11i V2の場合
パラメタ 説明 値 種別
msgtql メッセージのヘッダ数 同時起動ジョブネット数(注1)
× 4
加算
msgmnb 待ち行列上の最大バイト
数
同時起動ジョブネット数(注1)
× 200(注2)
最大
msgseg メッセージセグメント数 同時起動ジョブネット数(注1)
× 200(注2) ÷ msgssz値
加算
msgmap メッセージマップ内のエ
ントリ数
msgtql値+2(注3) 最大
msgmni メッセージ待ち行列識別
子の数
4×利用サブシステム数(注4) 加算
・ IPF版 HP-UX 11i V3の場合
パラメタ 説明 値 種別
msgtql メッセージのヘッダ数 同時起動ジョブネット数(注1)
× 4
加算
msgmnb 待ち行列上の最大バイト
数
同時起動ジョブネット数(注1)
× 200(注2)
最大