[pgsql-jp: 40375] PostgreSQLのセッション接続時のメモリ消費量について

toshihideka4316 @ zenrin.co.jp toshihideka4316 @ zenrin.co.jp
2010年 9月 9日 (木) 16:19:53 JST


片山です。お世話になります。

サーバパラメータのチューニングを行おうとしていますが、パラメータを変化させる
とセッションのメモリも変化する為、決めかねており質問があります。
現在、クライアント(v8.2.4)からPostgreSQLサーバ(v8.2.4)に接続するだけでサーバ
セッションの仮想メモリを150M消費している状態です。
計測の結果、設定ファイルの内容で各セッションの仮想メモリ消費量が変化すること
がわかりました。(詳細は以下の通りです)
・shared_buffers増加分 セッションの仮想メモリが増加する。
・max_fsm_pagesが204800(約1MB)増加するとセッションの仮想メモリが約1MB増加す
る。
・max_fsm_relationsが1000(約0.1M)増加してもセッションの仮想メモリは約0.1MB増
加する。
・max_connectionsが20(約1MB)増加するとセッションの仮想メモリが約1MB増加す
る。
これは、shared_buffers等のメモリが仮想メモリ消費量に含まれているということな
のでしょうか?
(psコマンド等でサーバメモリを計測した場合共有メモリが重複してカウントされて
いる?)
shared_buffersはサーバの共有メモリという認識ですが、セッションごとにメモリが
確保されているようで腑に落ちません。
(セッションで消費するメモリはwork_mem程度であると考えています)
ご存知でしたらご回答よろしくお願いいたします。

現在のサーバの設定は、以下の通りです。
shared_buffers=32MB
max_fsm_pages=1800000
max_fsm_relations=2000
max_connections=1000
work_mem=1MB
以上です。




pgsql-jp メーリングリストの案内