今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

分散システムと分散GC

HORBを使ったクライアント/サーバシステムで、自動テストを実行中。クライアント起動・サーバに接続・サービス利用・クライアント終了というのを延々と自動的に繰り返す。
サーバ側のメモリ使用量が増え続けているのに気付いた。今までメモリリークがないか、十分に調べているのに、なぜ増えているんだろうとか不安になった。
と、ふと、HORBの分散GCは、コネクションが切れてから5分後に動作することを思い出した。自動テストではクライアント終了後、即座に再起動してサーバのサービスを利用している。このために、サーバが分散GCを行うタイミングをつかめないっぽい。
試しに、クライアント終了後、再起動させないで5分間待ったところ、サーバのメモリ使用量が一気に減ったよ。よかった、よかった。