運用管理サーバでは、システムパラメタのチューニングを行う必要があります。チューニングが必要なシステムパラメタとその値については、以下の表を参照してください。パラメタにより、すでに設定されている値(初期値)に加算する場合と、すでに設定されている値と比較し大きい方の値(最大)を設定する場合があります。(加算の場合、設定のシステム上限値も確認してください。) 各パラメタがどちらに当たるかは、表の“種別”を参照してください。
詳細についてはSolarisのマニュアルなどを参照してください。
【Solaris版】
Solaris 9の場合
システムパラメタのチューニング値
共有メモリ
パラメタ | 説明 | 値 | 種別 |
---|---|---|---|
shmsys:shminfo_shmmax | 共有メモリセグメントの最大サイズ | 90177536 | 最大 |
shmsys:shminfo_shmmni | システム全体で作成できる共有メモリセグメントの最大数 | 50 | 加算 |
メッセージキュー
パラメタ | 説明 | 値 | 種別 |
---|---|---|---|
msgsys:msginfo_msgmax | メッセージの最大サイズ | 16384 | 最大 |
msgsys:msginfo_msgmnb | 待ち行列上の最大バイト数 | 32768 | 最大 |
msgsys:msginfo_msgmni | メッセージ待ち識別子の数 | 1024 | 加算 |
msgsys:msginfo_msgtql | メッセージのヘッダ数 (注) | 式1 | 加算 |
セマフォ
パラメタ | 説明 | 値 | 種別 |
---|---|---|---|
semsys:seminfo_semmni | セマフォ識別子の数 | 2048 | 加算 |
semsys:seminfo_semmns | システム内のセマフォ数 | 2905 | 加算 |
semsys:seminfo_semmnu | システム内のundo構造体の数 | 2048 | 加算 |
semsys:seminfo_semmsl | セマフォ識別子ごとの最大セマフォ数 | 290 | 最大 |
semsys:seminfo_semopm | セマフォコールごとの最大操作数 | 100 | 最大 |
semsys:seminfo_semume | プロセスごとの最大undoエントリ数 | 2048 | 最大 |
入出力
パラメタ | 説明 | 値 | 種別 |
---|---|---|---|
rlim_fd_max | ファイル記述子数限度 | 1024 | 最大 |
rlim_fd_cur | ファイル記述子数 | 1024 | 最大 |
式1の詳細は、以下のとおりです。
式1=資源配付の通信宛先数+20+msgmnbのチューニング値/100 |
システムパラメタを編集するには、/etc/systemファイルにチューニングのためのレコードを以下のように追加します。
なお、表にあるパラメタがすでに設定されている場合、Solarisの各バージョンのマニュアルを参照し、チューニングを行ってください。
チューニング作業手順
以下のコマンドを使用して現在システムに設定されている上記表に該当するパラメタの設定値を確認します。
#/usr/sbin/sysdef |
上記の表(システムパラメタのチューニング値)を参照し、現在の設定値と比較を行い、パラメタごとに最大、加算の種別を考慮して、適切な設定値を算出します。
/etc/systemを編集します。
システムパラメタをチューニングするために、/etc/systemファイルにチューニングのためのレコードを、以下の例のように編集します。
例: Solaris 9上に運用管理サーバだけを導入し、資源配付の通信宛先数が128の場合
set shmsys:shminfo_shmmax = 90177536 set shmsys:shminfo_shmmni = 150 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 = 2905 set semsys:seminfo_semmnu = 2078 set semsys:seminfo_semmsl = 290 set semsys:seminfo_semopm = 100 set semsys:seminfo_semume = 2048 set rlim_fd_max = 1024 set rlim_fd_cur = 1024
システムパラメタを変更した後は、システムの再起動が必要です。再起動のコマンドを以下に示します。
# cd / # /usr/sbin/shutdown -y -i6 -g0
システム再起動後、設定したシステムパラメタが反映されていることを、以下のコマンドの出力から確認します。
# /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) 2905 semaphores in system (SEMMNS) 2078 undo structures in system (SEMMNU) 290 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 * 90177536 max shared memory segment size (SHMMAX) 150 shared memory identifiers (SHMMNI) ・ ・ (省略) ・ ・
Solaris 10/Solaris 11の場合
Systemwalker Centric Managerは、以下のプロジェクト配下で動作します。
OS初期設定状態で存在するデーモンなどが動作するプロジェクト
OS初期設定状態でroot権限で動作するプロセスが所属するプロジェクト
システムパラメタのチューニング値
パラメタ | 説明 | 値 | 種別 | 特権 |
---|---|---|---|---|
project.max-msg-ids | メッセージ待ち識別子の数 | 1024 | 加算 | 特権レベル |
process.max-file-descriptor | プロセスで使用できる最大のファイル記述子インデックス | 1024 | 最大 | 特権レベル |
process.max-msg-qbytes | 待ち行列上の最大バイト数 | 32768 | 最大 | 特権レベル |
process.max-sem-nsems | セマフォ識別子ごとの最大セマフォ数 | 290 | 最大 | 特権レベル |
process.max-sem-ops | セマフォコールごとの最大操作数 | 100 | 最大 | 特権レベル |
project.max-sem-ids | セマフォ識別子の数 | 2048 | 加算 | 特権レベル |
project.max-shm-memory | 共有メモリセグメントの最大サイズ | 134217728 | 加算 | 特権レベル |
備考.特権レベルは、/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);project.max-sem-ids=(privileged,2176,deny);project.max-shm-memory=(privileged,1009778688,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) project.max-sem-ids=(privileged,2176,deny) project.max-shm-memory=(privileged,1009778688,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) project.max-sem-ids=(privileged,2176,deny) project.max-shm-memory=(privileged,1009778688,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 | セマフォ識別子あたりの最大セマフォ数 | 290 | 最大 |
para2 | システム全体のセマフォ数 | 3302 | 加算 |
para3 | セマフォコールあたりの最大演算子数 | 50 | 最大 |
para4 | システム全体のセマフォ識別子数 | 1308 | 加算 |
メッセージキュー
パラメタ | 説明 | 値 | 種別 |
---|---|---|---|
kernel.msgmnb | 1つのメッセージキューに保持できるメッセージの最大値 | 32768 | 最大 |
kernel.msgmni | メッセージキューIDの最大値 | 545 | 加算 |
kernel.msgmax | メッセージの最大サイズ | 16384 | 最大 |
共有メモリ
パラメタ | 説明 | 値 | 種別 |
---|---|---|---|
kernel.shmmni | 共有メモリセグメントの最大数 | 512 | 加算 |
kernel.shmmax | 共有メモリの最大セグメントサイズ | 15117192 | 最大 |
セマフォ
セマフォの設定値は、各パラメタ値を以下の形式で指定します。
kernel.sem = para1 para2 para3 para4 |
パラメタ | 説明 | 値 | 種別 |
---|---|---|---|
para1 | セマフォ識別子あたりの最大セマフォ数 | 290 | 最大 |
para2 | システム全体のセマフォ数 | 3302 | 加算 |
para3 | セマフォコールあたりの最大演算子数 | 50 | 最大 |
para4 | システム全体のセマフォ識別子数 | 1308 | 加算 |
メッセージキュー
パラメタ | 説明 | 値 | 種別 |
---|---|---|---|
kernel.msgmnb | 1つのメッセージキューに保持できるメッセージの最大値 | 32768 | 最大 |
kernel.msgmni | メッセージキューIDの最大値 | 545 | 加算 |
kernel.msgmax | メッセージの最大サイズ | 16384 | 最大 |
共有メモリ
パラメタ | 説明 | 値 | 種別 |
---|---|---|---|
kernel.shmmni | 共有メモリセグメントの最大数 | 512 | 加算 |
kernel.shmmax | 共有メモリの最大セグメントサイズ | 16129084 | 最大 |
kernel.shmall | システム上で一度に使用可能な共有メモリの合計 | 90000 | 加算 |
チューニング作業手順
以下のコマンドを使用して現在システムに設定されている上記表に該当するパラメタの設定値を確認します。
#/sbin/sysctl -a |
(例)
# /sbin/sysctl -a |
上記“システムパラメタのチューニング値”を参照し、現在の設定値と比較を行い、パラメタごとに最大、加算の種別を考慮して、適切な設定値を算出します。
/etc/sysctl.confを編集します。
システムパラメタをチューニングするために、/etc/sysctl.confファイルにチューニングのためのレコードを、以下の例のように編集します。
(例)
kernel.sem=290 35302 50 1436 |
/etc/sysctl.confへの編集内容が反映されていることを、以下のコマンドで確認します。
#/bin/cat /etc/sysctl.conf |
上記設定を有効にするために、下記のどちらかの方法を実行します。
方法1 : システムをリブートして設定を反映
# cd / |
方法2 : /sbin/sysctl -p を使用して設定を反映
# /sbin/sysctl -p /etc/sysctl.conf |
※このコマンドを使用した場合リブートの必要がありません。
設定したシステムパラメタが反映されていることを、以下のコマンドの出力から確認します。
# /sbin/sysctl -a |
確認コマンドの実行例
# /sbin/sysctl -a |