ニコニコ大百科モバイル

7/2(月)よりスマホまたはPCでアクセスした場合、各デバイス向けのサイトへ自動で転送致します


メモリリーク


ヨミ: メモリリーク
掲示板をミル!
11カキコ!

メモリリークとは、プログラムバグの一つ。


概要


プログラム内でデータを溜めておきたい場合、OSに頼んでメモリの領域を確保してもらい、その領域内にデータをおく。使い終わったら解放する必要があるが、自動的にはされないのでプログラム責任で解放の操作をする必要がある。このとき何らかの理由で解放の操作がされなかった場合、その領域はプログラム内にいつまでも居残り続けることになる。この状態をメモリリークという。借りた物を返さない最低である。即刻KILLすべき。

メモリリークを起こした時点でプログラムがおかしくなるというわけではないので、発生箇所の特定が困難で見過ごされがちのバグである。デーモンのように長時間使用される物で起こった場合、メモリをじわじわと食いつぶしていき、しまいには自身の動作を続けることができなくなる。それだけでなくほかのプログラムの動作を阻させたり、そもそも起動させなくしたりと、システム全体が極めて不安定になる。このため、メモリリークは致命的なバグである。

とはいえ、プログラムを終了させれば食いつぶしていた領域はきれいさっぱりくなる(はず)。メモリリークが起こるのを織り込み済みにしておき、「システムメンテナンス」と称して定期的に再起動をする、という運用をしているサービスも多い。動けば正義なのである。

メモリリークが起きないようにメモリの解放を自動的に行うようにする機構をガベージコレクションという。スクリプトや最近開発された言ではこのメモリ管理を使っていることが多い。


関連項目



最終更新日: 08/11/19 19:40
タグ検索 パソコン版を見る


[0]TOP
ニコニコ動画モバイル
運営元:ドワンゴ