[pgsql-jp: 40477] Re: 仮想メモリが解放されない

Itagaki Takahiro itagaki.takahiro @ gmail.com
2010年 10月 28日 (木) 17:02:39 JST


2010/10/28 錦戸 暖 <d-nishikido @ eandm.co.jp>:
> ■現象
> 大量のレコードを取得するSQLを発行した場合、物理メモリ使用量
> の上昇とともに仮想メモリ使用量が上昇します。
> 処理終了後、コネクションをクローズしても、仮想メモリ使用量が減
> 少しません。

PostgreSQLのプロセスに限っては、「コネクションのクローズ」は
「プロセスの終了」の意味なので、メモリはすべて解放されるはずです。
(というか、プロセスがいないのでそもそも値を取得できないのでは?)

・メモリを消費しているのは、どのプロセスか? サーバ or アプリ?
・コネクションのクローズとは、具体的に何を指すのか?
 例えば、コネクションがプーリングされていないか?

また、もしかすると当たり前の状態を見ているだけかもしれません。
shared_buffers と、上昇した仮想メモリ使用量を比べると
関連はありそうですか? 例えば、bgwriter プロセスは、
時間がたつと shared_buffers 全体にアクセスするので、
その量までは仮想メモリ使用量が増えるのは当然です。
(そして、bgwriter プロセスは切断しても残ります。)

-- 
Itagaki Takahiro


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