コンピューティングにおいて、メモリ バルーニングとは、各 VM が [仮想] メモリの未使用ページを効果的に「返す」ことで、仮想マシン(VM)が使用するホスト メモリをオーバーコミットする必要性をなくすために使用される手法です。
メモリバルーニングを実装するために、仮想マシンのカーネルは「バルーンドライバ」を実装します。このドライバは、VMのアドレス空間内の未使用メモリをメモリプール(「バルーン」)に割り当てます。これにより、そのメモリはVM上の他のプロセスで使用できなくなります。バルーンドライバはメモリプールを使用せず、代わりにホストオペレーティングシステムのハイパーバイザに、そのプール内の未使用のメモリアドレスを通知します。ホストオペレーティングシステムは、これらのメモリページから物理メモリをアンマップします(二次記憶装置へのコピーは不要です)。解放された物理メモリページはホストマシンの利用可能なRAMプールに戻り、ホストマシンはそれらを使用して他の仮想マシンを物理メモリに保持したり、二次記憶装置をキャッシュしたりできます。
VM上で実行されているアプリケーションに必要なメモリ量に応じて、VM内のバルーンドライバーは「バルーン」内のページ数を動的に増減することができ、これによりホストコンピューターは必要に応じてVMに物理メモリを再マッピングしたり、マッピング解除したりすることができる。[ 1 ] [ 2 ]