とみたです。 # 私は英語力がアレなので、ruby-ext で…。 [ruby-talk:11969] で Eric さんが書いてた件です。 # ruby-talk には入ってないのに、これだけ送られてきた…(^^; On Sun, 4 Mar 2001 19:50:48 +0900 Eric Sven Ristad <ristad / mnemonic.com> wrote: > I've written a Ruby program that uses Tomita Masahiro's excellent > ruby-mysql module to communicate with a MySql database. Unfortunately > if the program runs for a while, it runs out of memory and crashes. > It looks like the problem is that the garbage collector is not getting > called often enough to reclaim the results of the mysql queries made > by my Ruby program. MySQL/Ruby は MySQL のクライアントライブラリである libmysqlclient.so を呼んでます。 メモリが足りなくなったタイミングが Ruby の世界の中だったら、GC が 自動的に走って、不要なメモリを解放してくれるんでしょうけど、 MySQL ライブラリ中でメモリ不足が発生したら、MySQL ライブラリは Ruby のことなんか知ったこっちゃないんで、そのまま失敗しちゃい ます。 原因は多分こういうことなんでしょうけど、この現象って救い用あります? これって別に MySQL に限った話じゃなくて、外部ライブラリを使用している 拡張ライブラリであれば、起き得る話ですよね。何か一般的な解決策みたい なもんがあるんでしょうか? # メモリじゃなくてファイル記述子でも同様っすね。 -- とみたまさひろ <tommy / tmtm.org> 日本MySQLユーザ会 http://www.mysql.gr.jp