ページの先頭行へ戻る
Enterprise Postgres 15 導入ガイド(サーバ編)

付録H カーネルパラメータの設定

設定パラメータとカーネルパラメータとの関係および計算式は、“PostgreSQL Documentation”の“Managing Kernel Resources”の表“System V IPC Parameters”を使用してください。
また、共有メモリの使用量は、“PostgreSQL Documentation”の“Managing Kernel Resources”を参照して計算してください。

インスタンスが複数ある場合は、すべてのインスタンスについてカーネルパラメータの評価を実施してください。例えば、システム全体の共有メモリセグメントの最大値(SHMMNI)であれば、すべてのインスタンスで求めた個数の合計値をカーネルパラメータに加算します。プロセス毎のセマフォの最大数(SEMMSL)であれば、すべてのインスタンスで求めたサイズのうちの最も大きい値と現在の値とを比較してから設定します。

注意

SHMMAXの計算誤りにより共有メモリが不足した場合には、shmgetシステムコールが“errno=22 (EINVAL)”で失敗したことを示すメッセージが出力されます。計算をやり直して、再設定してください。

System V IPC パラメータと各オペレーティングシステムのカーネルパラメータとの関係は以下のとおりです。

System

V IPC パラメータ

カーネルパラメータアクション

SHMMAX

kernel.shmmax

“現在値 < 計算値”ならば、計算値を設定

SHMMIN

対応するパラメータなし

  

SHMALL

kernel.shmall

“現在値 + 計算値”を指定

SHMSEG

対応するパラメータなし

  

SHMMNI

kernel.shmmni

“現在値 + 計算値”を指定

SEMMNI

kernel.semの第4パラメータ

“現在値 + 計算値”を指定

SEMMNS

kernel.semの第2パラメータ

“現在値 + 計算値”を指定

SEMMSL

kernel.semの第1パラメータ

“現在値 < 計算値”ならば、計算値を設定

SEMMAP

対応するパラメータなし

  

SEMVMX

対応するパラメータなし

  

備考1. kernel.shmallは、ページ数を指定します。
備考2. kernel.sem は、4個のパラメータを一度に指定します。このとき、第3パラメータには、設定前の値をそのまま指定してください。