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

Tomoaki Sato sato @ sraoss.co.jp
2010年 9月 9日 (木) 17:33:39 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
> 以上です。


----
佐藤 友章 <sato @ sraoss.co.jp>
SRA OSS, Inc. 日本支社
PostgreSQL トレーニング: http://www.sraoss.co.jp/prod_serv/training/
PowerGres ファミリー: http://powergres.sraoss.co.jp/


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