かなりてけと〜なまとめ。ツッコミ頂けるとありがたいっす。。。
共有メモリ
- shmmax
- 1つの共有メモリセグメントの最大サイズをバイト単位で指定する。
- SGA が連続した共有メモリセグメントに収まるように「shmmax >= SGA の最大サイズ」となるよう設定する。
- shmmni
- 共有メモリセグメントの最大個数を指定する。
- shmmax >= SGA であれば、1インスタンス当たり1セグメントしか使用しないので、Oracle のマニュアルの推奨値4096個もあれば十分。
- shmall
- システム全体の共有メモリの最大サイズをページ単位(4096バイト)で指定する。
- つまり「(shmmax * インスタンス数) + Oracle 以外で使用する共有メモリの最大サイズ」を指定する。
- semmsl
- セマフォ集合体内のセマフォの最大数。
- 「semmsl >= PROCESSES(初期化パラメータ)」となるよう設定する。
- 複数インスタンスを利用する場合、「semmsl >= 各インスタンス中で最大のPROCESSES(初期化パラメータ)」となるよう設定する。
- semmni
- セマフォ集合体の個数。
- 「semmni >= (OSとその他のソフトウェア用 + インスタンス数)」となるよう設定する。
- Oracle のマニュアルの推奨値128個もあれば十分。
- semmns
- システム全体のセマフォの最大数。
- 「semmns >= semmsl * semmni」となるよう設定すればよい?
- Oracle のマニュアルの推奨値32000個もあれば十分。
- semopm
- semop(セマフォ集合の変更関数)呼び出しごとの最大命令数を設定する。なんかよくわかってないw
- Oracle のマニュアルの推奨値100でおk?
関連
追記(2010.11.29):
KROWN にスバラシイ情報がありますね。内容はブログには書けませんので、興味がある方は以下の KROWN を参照してください。