[pgsql-jp: 34501] Cygwin+PostgreSQLでWindowsハンドルの開放漏れ?

NOBU nobu-fujita @ nifty.com
2004年 12月 20日 (月) 21:55:19 JST


はじめましてNOBUと申します。
以前よりLinux+PostgreSQLは趣味&業務で使用しており、
とても便利に使ってきました。
今回、事情によりWindows2000にCygwin+PostgreSQLという
システムを運用することになったのですが、長時間運用すると
JDBCでコネクションを生成することができなくなるという問題
が発生し困っています。
どなたか同様の現象にあった方、解決された方がいらっしゃったら
お知恵を拝借したく思います。

<環境>
Windows2000
Cygwin バージョン1.5.11(cygserver 1.10)
PostgreSQL 7.4.5

<問題再現方法>
・Cygwin上でPostgreSQLを立ち上げる。
・特にDBにアクセスすることなく放置する。
  (JDBCによるアクセスはまったくなく、単に立ち上げただけ)
・この状況で、Windowsのパフォーマンスモニターを
  つかいcygserverのProcess->Handle Countを監視する。
・ある周期で定期的にHandle Countが1増加する。
・Handle Countが7000を越えたあたりで動作がおかしくなる。
  このときJDBCでつなげている場合には、コネクションがおかしくなったり
  コネクションの生成ができなくなる。

<現在までわかっていること>
・CHECK POINTを作成するタイミングで必ずHandle Countが増加する
  ことがわかりました。
・したがって、postgresql.confのcheckpoint_timeoutの設定を
  変更すると、その設定時間に従ったタイミングでHandle Countが増加
  します。

最悪、問題発生時にDBのデータが飛んでもかまわないので、とにかく
長時間運用したいのです。その目的のためなら、多少機能やパフォーマンスが
落ちてもかまわないのですが。
現在PostgreSQLのソースも追っていますが、なにぶん始めてみるソースのために
時間がかかっています。
国内・国外のMLをいろいろ検索したのですが、CYGWIN上のPostgreSQLでCHECK POINT
のタイミングで妙なことが起きるという記事は見かけましたが、解決方法は
ありませんでした。

どなたか、解決方法をご存知でしたら、教えていただければと思います。

/*
 *******************************************
 * NOBU <nobu-fujita @ nifty.com>
 *******************************************
 */
 



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