ダッシュボードサーバでは、各ソフトウェアが使用する共用資源に関してシステムパラメタのチューニングを行う必要があります。チューニングが必要なシステムパラメタとその値については以下の表を参照してください。パラメタにより、既に設定されている値(初期値)に加算する場合と、既に設定されている値と比較し大きい方の値(最大)を設定する必要があります。(加算の場合、設定のシステム上限値も確認してください)各パラメタがどちらに当たるかは、表の「種別」を参照してください。
詳細についてはSolarisおよびLinuxのマニュアルなどを参照してください。
■ Solarisの場合
ダッシュボードサーバは、以下のプロジェクト配下で動作します。
systemプロジェクト
OS初期設定状態で存在するデーモンなどが動作するプロジェクト
user.rootプロジェクト
OS初期設定状態で、root権限で動作するプロセスが所属するプロジェクト
パラメタ | 説明 | 値 | 種別 | 特権 |
---|---|---|---|---|
project.max-shm-memory | 共有メモリセグメントの最大サイズ | 108388350 | 加算 | 特権レベル |
project.max-shm-ids | 共有メモリ識別子の最大数 | 70 | 加算 | 特権レベル |
パラメタ | 説明 | 値 | 種別 | 特権 |
---|---|---|---|---|
project.max-sem-ids | セマフォ識別子の数 | 1468 | 加算 | 特権レベル |
process.max-sem-nsems | セマフォ識別子ごとの最大セマフォ数 | 512 | 最大 | 特権レベル |
process.max-sem-ops | セマフォコールごとの最大操作数 | 50 | 最大 | 特権レベル |
パラメタ | 説明 | 値 | 種別 | 特権 |
---|---|---|---|---|
process.max-msg-qbytes | 待ち行列上の最大バイト数 | 65536 | 最大 | 特権レベル |
project.max-msg-ids | メッセージ待ち識別子の数 | 529 | 加算 | 特権レベル |
process.max-msg-messages | メッセージキュー内のメッセージの最大数 | 1024 | 加算 | 特権レベル |
ポイント
特権レベルは、/etc/projectファイルに”privileged”を指定します。
システムパラメタを編集するには、/etc/projectファイルを編集します。
注意
システムパラメタを設定する際には、システムの初期値および、設定可能な値の上限を確認した後、値を確認してください。確認方法の例は以下のとおりです。
以下のコマンドを使用して現在システムに設定されている上記表に該当するパラメタの設定値を確認します。
# projects -l
[確認コマンド実行例]
# 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: # 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ファイルに定義します。
注意
設定値は、プロジェクトごとに1行で記載してください。
チューニングパラメタの設定は、システムとスーパーユーザーに対して行ってください。
上記設定をした後、以下のコマンドにより設定情報を確認できます。
# projects -l
[確認コマンド実行例]
# projects -l system projid : 0 comment: "System account" users : (none) groups : (none) attribs: project.max-msg-ids=(privileged,527,deny) ←projectファイル設定内容が"attribs"に反映されていることを確認 process.max-msg-qbytes=(privileged,162972,deny) (各変数に手順2で算出した値が設定されていれば成功) process.max-sem-nsems=(privileged,512,deny) process.max-sem-ops=(privileged,50,deny) project.max-sem-ids=(privileged,829,deny) project.max-shm-memory=(privileged,3398861600,deny) user.root projid : 1 comment: "root user" users : root groups : root attribs: project.max-msg-ids=(privileged,527,deny) process.max-msg-qbytes=(privileged,162972,deny) process.max-sem-nsems=(privileged,512,deny) process.max-sem-ops=(privileged,50,deny) project.max-sem-ids=(privileged,829,deny) project.max-shm-memory=(privileged,3398861600,deny) noproject projid : 2 comment: "" users : (none) groups : (none) attribs: default projid : 3 comment: "Default project setting" users : (none) groups : (none) attribs:
■ Linuxの場合
パラメタ | 説明 | 値 | 種別 |
---|---|---|---|
shmmax | 共有メモリの最大セグメントサイズ | 57413492 | 最大 |
shmmni | 共有メモリセグメントの最大数 | 71 | 加算 |
パラメタ | 説明 | 値 | 種別 |
---|---|---|---|
para1 | セマフォ識別子あたりの最大セマフォ数 | 512 | 最大 |
para2 | システム全体のセマフォ数 | 6287 | 加算 |
para3 | セマフォコールあたりの最大演算子数 | 50 | 最大 |
para4 | システム全体のセマフォ識別子数 | 1468 | 加算 |
パラメタ | 説明 | 値 | 種別 |
---|---|---|---|
msgmax | メッセージの最大サイズ | 16384 | 最大 |
msgmnb | 1つのメッセージキューに保持できる最大値 | 32768 | 最大 |
msgmni | メッセージキューIDの最大値 | 527 | 加算 |
システムパラメタを編集するには、/etc/sysctl.confファイルにチューニングのためのレコードを以下のように追加します。
以下のコマンドを使用して、現在システムに設定されている上記表に該当するパラメタの設定値を確認します。
#/sbin/sysctl -a
上記の「システムパラメタのチューニング値」を参照し、現在の設定値と比較を行い、パラメタごとに最大、加算の種別を考慮して、適切な設定値を算出します。
/etc/sysctl.confを編集します。
システムパラメタをチューニングするために、手順 2の算出結果を元に/etc/sysctl.confファイルを編集します。
/etc/sysctl.confへの編集内容が反映されていることを、以下のコマンドで確認します。
#/bin/cat /etc/sysctl.conf
上記設定を有効にするために、下記のどちらかの方法を実行します。
方法1: システムをリブートして設定を反映
# cd / # /sbin/shutdown -r now
方法2: /sbin/sysctl -pを使用して設定を反映
# /sbin/sysctl -p /etc/sysctl.conf
設定したシステムパラメタが反映されていることを、以下のコマンドの出力から確認します。
# /sbin/sysctl -a
[確認コマンド実行例]
# /sbin/sysctl -a ・ ・ (省略) ・ ・ kernel.sem = 738 54761 60 3898 kernel.msgmnb = 44237 - 8 - kernel.msgmni = 1911 kernel.msgmax = 19815 kernel.shmmni = 4298 kernel.shmall = 2097152 kernel.shmmax = 139986287 ・ ・ (省略) ・ ・