エンベデッドシステムスペシャリスト暗記無料で始める

メモリリークとは?めもりりーく

メモリリークとは、動的に確保した領域を解放し忘れ、使えるヒープが少しずつ減り続ける不具合。1回の漏れが小さくても、長時間連続運転する機器では日や月の単位で積み上がり、ある日突然の確保失敗として表面化する。

最終更新:2026-10-06

試験情報

エンベデッドシステムスペシャリスト試験の過去問では1回出題され、ほかに1問の解説で触れられています(2022年度〜2025年度)。

エンベデッドシステムスペシャリスト試験の頻出用語/午前II

この語が出る過去問を解く →

背景

起動と終了を繰り返す用途なら、多少の漏れはプロセス終了時に回収される。組込み機器は電源を入れたまま何年も動き続けるため、その回収機会がない。しかも表面化するのは出荷後で、再現に数週間かかることもある。だからこの分野では、動的確保そのものを避ける、あるいは確保と解放を同じ層に閉じ込めるという制約を、実装より先に設計として置く判断が取られる。

具体例

通信エラー時の異常系だけ解放を通らない経路があると、1回数百バイトの漏れが1日1万回で週に数メガバイトになる。対策は固定長のメモリプールへの置き換えで、MISRA Cが動的確保を原則禁止としているのも同じ理由による。

試験での引っ掛け

断片化との切り分けが問われる。空き容量の合計が減り続けるならリーク、合計は変わらないのに連続領域だけ取れないなら断片化で、後者は解放済みの領域が細切れになった状態にすぎない。原因も対策も別物である。

関連用語

出た過去問

問題文で直接問われたものと、解説の中で触れられたものが含まれます。

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では1回出題(2022年度〜2025年度)
  • 分野:午前II
  • 断片化との切り分けが問われる。