一覧に戻る
Lv.2

メモリリーク

Memory Leak

使わなくなったメモリが解放されず、溜まり続けてコンピュータの動作が重くなる現象。

簡単に説明すると

メモリリークは、使わなくなったはずの作業スペースが片付けられずに埋まったままになる現象のことだよ。 アプリを使っているうちにどんどんメモリが消費されて、最終的には動作がガクガクになったり、アプリが強制終了したりするんだ。一度アプリを閉じればリセットされることが多いけれど、根本的な解決にはプログラムの修正が必要だよ。

名前のヒミツ

メモリリーク(めもりりーく)。英語の「Memory」と「Leak」を組み合わせた言葉だよ。水が漏れ出すように、本来は空くはずのメモリが少しずつ減っていく様子を表しているんだ。プログラミングの不具合の1つとして知られているよ。

くわしく見てみよう!

メモリリークとは、コンピュータのメモリが解放されないまま残り続けてしまう不具合のことだよ。
プログラムは動くときにメモリの一部を作業机として確保し、使い終わったら片付けて空き地に戻すルールになっているんだ。でも、この片付けを忘れてしまうと、見かけ上は使っていないのにメモリが占有されたままになってしまうんだよ。

メモリリークが起きると、空いているメモリがどんどん減っていくんだ。
空き容量がなくなると、コンピュータは他の処理を動かすための場所が確保できず、動作が極端に遅くなってしまうよ。これを防ぐには、プログラムの中で使い終わったら必ず片付けるという処理を正しく書くことが大切なんだ。

ざっくり言うと、メモリリークは机の上の出しっぱなしが積み重なった状態だよ。
多くのプログラミング言語には自動で片付けてくれる仕組みもあるけれど、完全に防ぐのは難しいんだ。長期間動かし続けるサーバーやスマホアプリなどで特に注意が必要な問題だね。