Systemwalker Centric Manager 導入手引書 - UNIX共通 -
目次 索引 前ページ次ページ

第2章 運用管理サーバの環境構築

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

運用管理サーバでは、システムパラメタのチューニングを行う必要があります。チューニングが必要なシステムパラメタとその値については、以下の表を参照してください。パラメタにより、既に設定されている値(デフォルト値)に加算する場合と、既に設定されている値と比較し大きい方の値(最大)を設定する場合があります。(加算の場合、設定のシステム上限値も確認してください。)各パラメタがどちらにあたるかは、表の“種別”を参照してください。

詳細についてはSolarisのマニュアル等を参照してください。

■Solarisの場合

◆Solaris 7/8/9の場合

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

[共有メモリ]

パラメタ

説明

種別

shmsys:shminfo_shmmax

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

620756992

最大

shmsys:shminfo_shmmni

システム全体で作成できる共有メモリセグメントの最大数

512

加算

shmsys:shminfo_shmseg

プロセスごとのセグメント数 (注1)

512

最大

[メッセージキュー]

パラメタ

説明

種別

msgsys:msginfo_msgmap

message マップ内のエントリ数(注2)

式1

加算

msgsys:msginfo_msgmax

メッセージの最大サイズ

16384

最大

msgsys:msginfo_msgmnb

待ち行列上の最大バイト数

32768

最大

msgsys:msginfo_msgmni

メッセージ待ち識別子の数

1024

加算

msgsys:msginfo_msgtql

メッセージのヘッダ数 (注3)

式2

加算

msgsys:msginfo_msgseg

メッセージセグメント数 (注4)

32767

加算

[セマフォ]

パラメタ

説明

種別

semsys:seminfo_semmap

セマフォマップ内のエントリ数(注4)

2050

加算

semsys:seminfo_semmni

セマフォ識別子の数

2048

加算

semsys:seminfo_semmns

システム内のセマフォ数

2048

加算

semsys:seminfo_semmnu

システム内のundo構造体の数

2048

加算

semsys:seminfo_semmsl

セマフォ識別子ごとの最大セマフォ数

256

最大

semsys:seminfo_semopm

セマフォコールごとの最大操作数

100

最大

semsys:seminfo_semume

プロセスごとの最大undoエントリ数

2048

最大

[入出力]

パラメタ

説明

種別

rlim_fd_max

ファイル記述子数限度

1024

最大

rlim_fd_cur

ファイル記述子数

1024

最大

注1)
Solaris 9では設定不要です。
注2)
Solaris 8/9では設定不要です。
式1の詳細は、以下のとおりです。

式1=msgtqlのチューニング値+2

注3)
式2の詳細は、以下のとおりです。

式2=資源配付の通信宛先数+20+msgmnbのチューニング値/100

注4)
Solaris 8/9では設定不要です。

 

システムパラメタを編集するには、/etc/systemファイにチューニングのためのレコードを以下のように追加します。

なお、表にあるパラメタが既に設定されている場合、Solarisの各バージョンのマニュアルを参照し、チューニングを行ってください。

チューニング作業手順

  1. 以下のコマンドを使用して現在システムに設定されている上記表に該当するパラメタの設定値を確認します。
    #/usr/sbin/sysdef
  2. 上記[システムパラメタのチューニング値]を参照し、現在の設定値と比較を行い、各パラメタ毎に最大、加算の種別を考慮の上、適切な設定値を算出します。
  3. /etc/systemを編集します。

    システムパラメタをチューニングするために、/etc/systemファイルにチューニングのためのレコードを、以下の例のように編集します。

    例: Solaris 9上に運用管理サーバだけを導入し、資源配付の通信宛先数が128の場合

    set shmsys:shminfo_shmmax = 620756992
    set shmsys:shminfo_shmmni = 612

    set msgsys:msginfo_msgmax = 16384
    set msgsys:msginfo_msgmnb = 32768
    set msgsys:msginfo_msgmni = 1074
    set msgsys:msginfo_msgtql = 516

    set semsys:seminfo_semmni = 2058
    set semsys:seminfo_semmns = 2108
    set semsys:seminfo_semmnu = 2078
    set semsys:seminfo_semmsl = 256
    set semsys:seminfo_semopm = 100
    set semsys:seminfo_semume = 2048

    set rlim_fd_max = 1024
    set rlim_fd_cur = 1024

  4. システムパラメタを変更した後は、システムの再起動が必要です。再起動のコマンドを以下に示します。
    # cd /
    # /usr/sbin/shutdown -y -i6 -g0
  5. システム再起動後、設定したシステムパラメタが反映されている事を、以下のコマンドの出力から確認します。
    # /usr/sbin/sysdef

    確認コマンド実行例

    #/usr/sbin/sysdef
       ・
       ・
      (省略)
       ・
       ・
    *
    * Process Resource Limit Tunables (Current:Maximum)
    *
    0x0000000000000400:0x0000000000000400 file descriptors
    *
    * Streams Tunables
    *
    9 maximum number of pushes allowed (NSTRPUSH)
    65536 maximum stream message size (STRMSGSZ)
    1024 max size of ctl part of message (STRCTLSZ)
    *
    * IPC Messages
    *
    16384 max message size (MSGMAX)

    32768 max bytes on queue (MSGMNB)
    1074 message queue identifiers (MSGMNI)
    516 system message headers (MSGTQL)
    *
    * IPC Semaphores
    *
    2058 semaphore identifiers (SEMMNI)
    2108 semaphores in system (SEMMNS)
    2078 undo structures in system (SEMMNU)
    256 max semaphores per id (SEMMSL)
    100 max operations per semop call (SEMOPM)
    2048 max undo entries per process (SEMUME)
    32767 semaphore maximum value (SEMVMX)
    16384 adjust on exit max value (SEMAEM)
    *
    * IPC Shared Memory
    *
    620756992 max shared memory segment size (SHMMAX)
    612 shared memory identifiers (SHMMNI)
       ・
       ・
      (省略)
       ・
       ・

◆Solaris 10の場合

Systemwalker Centric Managerは、以下のプロジェクト配下で動作します。

systemプロジェクト
OS初期設定状態で存在するデーモンなどが動作するプロジェクト
user.rootプロジェクト
OS初期設定状態でroot権限で動作するプロセスが所属するプロジェクト

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

パラメタ

説明

種別

特権

project.max-msg-ids

メッセージ待ち識別子の数

1024

加算

特権レベル

process.max-file-descriptor

プロセスで使用できる最大のファイル記述子インデックス

1024

最大

特権レベル

process.max-msg-qbyte

待ち行列上の最大バイト数

32768

最大

特権レベル

process.max-sem-nsems

セマフォ識別子ごとの最大セマフォ数

256

最大

特権レベル

process.max-sem-ops

セマフォコールごとの最大操作数

100

最大

特権レベル

process.max-stack-size

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

1000000

最大

基本レベル

project.max-sem-ids

セマフォ識別子の数

2048

加算

特権レベル

project.max-shm-memory

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

620756992

最大

特権レベル

備考.特権レベルは、/etc/projectに“privileged”を指定し、基本レベルは、“basic”を指定します。

システムパラメタの設定

システムパラメタを編集するには、/etc/projectファイルを編集します。

システムパラメタを設定する際には、システムの初期値および、設定可能名値の上限を確認した後、値を確認してください。確認方法の例は以下のとおりです。

# projects -l
system
        projid : 0
        comment: "System account"
        users  : (none)
        groups : (none)
        attribs: 
user.root
        projid : 1
        comment: "root user"
        users  : root
        groups : root
        attribs:
noproject
        projid : 2
        comment: “”
        users  : (none)
        groups : (none)
        attribs:
default
        projid : 3
        comment: “Default project setting”
        users  : (none)
        groups : (none)
        attribs:                  ← “attribs”にエントリがないプロジェクトを確認
# newtask -p default
# prctl $$
process: 1000: sh
NAME    PRIVILEGE       VALUE    FLAG   ACTION                       RECIPIENT
process.max-port-events
        privileged      65.5K       -   deny                                 -
        system          2.15G     max   deny                                 -
process.max-msg-messages
        privileged      8.19K       -   deny                                 -
        system          4.29G     max   deny                                 -
       system          16.8M     max   deny                                 -
*

/etc/projectファイル編集例

system:0:System account:::project.max-msg-ids=(privileged,1152,deny);process.max-

file-descriptor=(privileged,2048,deny);process.max-msg-qbytes=(privileged,64000,deny)

;process.max-sem-nsems=(privileged,512,deny);process.max-sem-ops=(privileged,512

,deny);process.max-stack-size=(basic,8000000,deny);project.max-sem-ids=(pr

ivileged,2176,deny);project.max-shm-memory=(privileged,620756992,deny)

user.root:1:root user:root:root:project.max-msg-ids=(privileged,1152,deny);process.max-

file-descriptor=(privileged,2048,deny);process.max-msg-qbytes=(privileged,64000,deny)

;process.max-sem-nsems=(privileged,512,deny);process.max-sem-ops=(privileged,512

,deny);process.max-stack-size=(basic,8000000,deny);project.max-sem-ids=(pr

ivileged,2176,deny);project.max-shm-memory=(privileged,620756992,deny)

システムパラメタの確認

上記設定をした後、以下のコマンドにより設定情報を確認できます。

# projects -l

確認コマンド実行例

# projects -l
system
projid : 0
comment: "System account"
users : (none)
groups : (none)
attribs: project.max-msg-ids=(privileged,1152,deny)
process.max-file-descriptor=(privileged,2048,deny)
process.max-msg-qbytes=(privileged,64000,deny)
process.max-sem-nsems=(privileged,512,deny)
process.max-sem-ops=(privileged,512,deny)
process.max-stack-size=(basic,8000000,deny)
project.max-sem-ids=(privileged,2176,deny)
project.max-shm-memory=(privileged,620756992,deny)
user.root
projid : 1
comment: "root user"
users : root
groups : root
attribs: project.max-msg-ids=(privileged,1152,deny)
process.max-file-descriptor=(privileged,2048,deny)
process.max-msg-qbytes=(privileged,64000,deny)
process.max-sem-nsems=(privileged,512,deny)
process.max-sem-ops=(privileged,512,deny)
process.max-stack-size=(basic,8000000,deny)
project.max-sem-ids=(privileged,2176,deny)
project.max-shm-memory=(privileged,620756992,deny)
noproject
projid : 2
comment: ""
users : (none)
groups : (none)
attribs:
default
projid : 3
comment: "Default project setting"
users : (none)
groups : (none)
attribs:

■Linuxの場合

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

[セマフォ]

セマフォの設定値は、各パラメタ値を以下の形式で指定します。

 kernel.sem = para1 para2 para3 para4

パラメタ

説明

種別

para1

セマフォ識別子あたりの最大セマフォ数

133

最大

para2

システム全体のセマフォ数

2745

加算

para3

セマフォコールあたりの最大演算子数

50

最大

para4

システム全体のセマフォ識別子数

2509

加算

[メッセージキュー]

パラメタ

説明

種別

kernel.msgmnb

1つのメッセージキューに保持できるメッセージの最大値

32768

最大

kernel.msgmni

メッセージキューIDの最大値

545

加算

kernel.msgmax

メッセージの最大サイズ

16384

最大

[共有メモリ]

パラメタ

説明

種別

kernel.shmmni

共有メモリセグメントの最大数

21197

加算

kernel.shmmax

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

15117192

最大

◆チューニング作業手順

  1. 以下のコマンドを使用して現在システムに設定されている上記表に該当するパラメタの設定値を確認します。
    #/sbin/sysctl -a

    (例)

    # /sbin/sysctl -a
       ・
      (省略)
       ・
    kernel.sem = 1100 35406 200 800
    kernel.msgmnb = 4194304
    kernel.msgmni = 8199
    kernel.msgmax = 32768
    kernel.shmmni = 4315
    kernel.shmall = 2097152
    kernel.shmmax = 4000000000
       ・
      (省略)
       ・

  2. 上記[システムパラメタのチューニング値]を参照し、現在の設定値と比較を行い、各パラメタ毎に最大、加算の種別を考慮の上、適切な設定値を算出します。
  3. /etc/sysctl.confを編集します。

    システムパラメタをチューニングするために、/etc/sysctl.confファイルにチューニングのためのレコードを、以下の例のように編集します。

    (例)

    kernel.sem=1100 38151 200 3309

    kernel.msgmax=32768
    kernel.msgmnb=4194304
    kernel.msgmni=8744

    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

◆確認コマンドの実行例

# /sbin/sysctl -a
   ・
  (省略)
   ・
kernel.sem = 1100 38151 200 3309
kernel.msgmnb = 4194304
kernel.msgmni = 8199
kernel.msgmax = 32768
kernel.shmmni = 25512
kernel.shmall = 2097152
kernel.shmmax = 4000000000
   ・
  (省略)
   ・


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 1995-2005