メモリーリーク
プログラマという職業をやっていて厄介な事象に出くわすことがある。それがこの"メモリーリーク"、つまりメモリ領域を無駄に使用したまま再利用されないため、サーバの停止などを引き起こす結果となる現象のことをいう。
今やっている仕事で、ここ数ヶ月この問題を解決すべくテストサーバーでストレステスト、プロファイリング、コード修正、そしてまたテストの繰り返しの日々だった。そして今週めでたく努力の甲斐があって、原因究明に至ることができた。
今になって思うと、やはり基礎の基礎、処理の終了処理がされていなったことに起因していた。それもまたDBのコネクション系といった箇所。あまりにも当然なことなため、つい原因の候補から削除してしまいがちなのだが、やはりこういったごく基本的なことから起因していることのようだった。
しかし今回の教訓からするに基礎は重要、また問題解決には地道な努力が必要だということが重々重いしらされた。とにかく問題解決ができてよかった。そして次なる課題は最適化へと続く。