[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 メーリングリストの案内