• 締切済み

PostgreSQLのメモリ使用量について

お世話になります。 漠然とした質問になってしまうのですが、 postgresのメモリ使用量が増加し続け、 最終的にメモリ不足になる現象で困っております。 もし、PostgreSQLのチューニングで解消できるようでしたら ご教示頂けないでしょうか? 詳細(ざっくりですが、、、)は、 周期的にSELECTを実施しているプロセスがあるのですが、 psで監視すると、postgresのメモリ使用量が、 少しずつですが増加し続け SELECTをやめると増加は止まるのですが、 増えたままで減りません。 (試験的にSLEEPしてSELECTを止めた状態を作成) ちなみにSELECTしているプロセス(C言語)自体は メモリリークしておりません。。。 漠然としてて申し訳ございませんが お知恵をお借りできるとうれしいです。

みんなの回答

  • daichie
  • ベストアンサー率100% (1/1)
回答No.1

ここよりも、PostgreSQLコミュニティのMLで聞いた方が、有益な情報を得られると思いますよ。 日本PostgreSQLユーザ会 :pgsql-jp@ml.postgresql.jp その際、以下の情報を合わせて送るとよいかと思います。 ・環境(使用しているOS、PostgreSQLのバージョンなど) ・他に動いているアプリケーションがないか(PostgreSQLだけが動いているDBサーバなのか、他の製品も同居しているのか) ・SELECTで行っている処理の概要 ・メモリ不足によって起きている現象(スワップが頻発など) ・エラーメッセージ、ログがはかれている場合は、そのメッセージ、ログ > SELECTをやめると増加は止まるのですが、 >増えたままで減りません。 >(試験的にSLEEPしてSELECTを止めた状態を作成) SLEEPさせているだけということは、処理の途中で止まっているということなので、 メモリを解放しないため、正常な動作だと思います。

alp_tomy
質問者

お礼

ご助言ありがとうございます! ただ、日本PostgreSQLユーザ会・・・調べてみたのですが。。。 メアドの公開等ちょっとハードルが高いので、 できればこちらで解決できればと思います。 >・SELECTで行っている処理の概要  下記の通りシンプルなものです。 SELECT A,B,C FROM table where A=xxx >・メモリ不足によって起きている現象(スワップが頻発など)  SWAPはおきていないのですが、  1レコードのデータサイズが大きい(50M以上)ため  その辺が影響するのか知りたいです。 >・エラーメッセージ、ログがはかれている場合は、そのメッセージ、ログ  エラーログははかれていませんでした。 OS:RedHat(結構古いバージョンです・・多分2系列) PostgreSQL:8.4.4 また、topコマンドで見たときに 使用時間(TIME)が増加し続けるのですが、 以下の処理の流れの場合(2)・(3)を繰り返す限り 使用時間(TIME)は増加するものなのでしょうか? ざっくりですが、処理の流れは以下の通りです。 SLEEPは(4)の前に入れました ――――――――――――――――――――― (1)PQconnectdb (2)PQexec(SELECT文) (3)PQclear (4)PQfinish ――――――――――――――――――――― 回答しにくい説明ですみません。。。

関連するQ&A