創屋ぷれす

メモリリーク

メモリリークは、バグの一種です。

メモリはPCの作業机と言われている通り
プログラムを実行する際に、メモリの一部を作業領域として確保し、
使わなくなったら開放するということを行っています。

ただ、使ったメモリ領域を解放し忘れてしまう状態のことをメモリリークと
言います。

メモリ領域を解放せずにそのままの状態で放置されると、
メモリの領域を圧迫して、他のプログラムが必要なメモリ領域を確保できなくなって
しまいます。

ループ処理の中でメモリリークが発生すると、どんどんメモリ領域が確保されていくので、
最終的にシステムがダウンするような状態となってしまいます。

使わなくなったメモリ領域を自動的に開放してくれるような仕組みもあるのですが、
言語によっては、明示的にメモリを解放する必要があります。
C言語とか、C++では意識が必要です。

意識していても、見つけにくいバグではありますが、
IDEなどに検出してくれるツールが合ったりするので、調べてみてはいかがでしょうか。

Comments are closed.