ページの先頭行へ戻る
Systemwalker Operation Manager  導入手引書
FUJITSU Software

2.2.3 システムパラメタのチューニング【UNIX版】

Systemwalker Operation Managerを安定した状態で動作させるため、UNIX版の場合は、システムパラメタのチューニングを行う必要があります。チューニングが必要なシステムパラメタとその値については、以下の表を参照してください。パラメタにより、すでに設定されている値(初期値)に加算する場合と、すでに設定されている値と比較し大きい方の値(最大)を設定する場合があります。(加算の場合、設定のシステム上限値も確認してください。) 各パラメタがどちらにあたるかは、表の“種別”を参照してください。

システムパラメタの設定方法の詳細は、OSのマニュアルを参照してください。

Solaris 9の場合

システムパラメタのチューニング値

[共有メモリ]

パラメタ

説明

種別

shmsys:shminfo_shmmax

共有メモリセグメントの最大サイズ

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は、以下のプロジェクトで動作します。

システムパラメタのチューニング値

[共有メモリ]

パラメタ

説明

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

プロセスで使用できるスタックメモリセグメントの最大サイズ

8388608
(バイト)

2000000
(バイト)
(注)

最大値

基本レベル

注) 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としてください。

Enterprise EditionLinux版で複数サブシステム運用を行う場合、使用されるメッセージキューの数は、サブシステム数の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の場合

システムパラメタのチューニング値

[メッセージキュー]

注1)

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

注2)

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

注3)

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

注4)

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

チューニング作業手順

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