Sun Java System Application Server Enterprise Edition 8.2 パフォーマンスチューニングガイド

オペレーティングシステム構成

次に、オペレーティングシステムの構成について説明します。

セマフォー

セマフォーの数が少なすぎると、HADB に障害が発生し、次のエラーメッセージが表示されることがあります。

No space left on device

これは、データベースの起動時または実行中に発生することがあります。セマフォーはオペレーティングシステムによってグローバルリソースとして提供されるので、その構成は、HADB だけでなく、ホストで実行されるすべてのプロセスによって決まります。Solaris では、/etc/system ファイルを編集することによってセマフォーの設定を構成します。

ノード、NNODES (--hosts オプションによって暗黙的に HADB に送信されるノードの数)、ホストあたりの NCONNS 接続 (HADB 構成パラメータの NumberOfSessions、デフォルト値は 100) を実行するには、次のセマフォー設定を使用します。

set semsys:seminfo_semmap = <default=10> + NNODES
set semsys:seminfo_semmni = <default=10> + NNODES
set semsys:seminfo_semmns = <default=60> + (NNODES * 8)
set semsys:seminfo_semmnu = <default=30> + NNODES + NCONNS

1 つのホストで複数のノードを実行する予定の場合は、必ず semmap = NNODES を設定します。設定を調べるには、sysinfo コマンドと sysdef コマンドを使用します。

共有メモリー

共有メモリーの最大サイズを、物理 RAM の合計容量に設定します。さらに、プロセスあたりの共有メモリーセグメントの最大数を、HADB プロセスに対応できるように 6 以上に設定します。ホストで実行されるノードの数に基づいて、システム全体の共有メモリー識別子の数を設定します。

Solaris

Solaris 9 では、カーネルが変更されたため、hmsys:shminfo_shmseg 変数は使用されなくなっています。Solaris 8 では、/etc/system ファイルに次の設定を追加します。

set shmsys:shminfo_shmmax = 0xffffffff
set shmsys:shminfo_shmseg = <default=6>
set shmsys:shminfo_shmmni = <default=100> + (6 * NNODES)

デフォルト値は Solaris 8 の値です。デフォルト値かどうかに関係なく、以前の変数値に HADB リソース要件を追加します。


注 –

これらの設定を変更したら、ホストを再起動してください。


Linux

共有メモリーを 512M バイトに増やすには、次のコマンドを実行します。

echo 536870912 > /proc/sys/kernel/shmmax
echo 536870912 > /proc/sys/kernel/shmall

shmmax ファイルには 1 つの共有メモリーセグメントの最大サイズが含まれており、shmall には利用可能にする共有メモリーの合計サイズが含まれています。

この値は、デフォルト値を使用する標準的な HADB ノードに十分な大きさです。デフォルト値を変更する場合は、これらの値の変更も検討してください。

変更後の設定を永続的なものにするには、Linux マシンの /etc/rc.local にこれらの行を追加します。RedHat Linux では、カーネルパラメータを設定する sysctl.conf も変更できます。