オーバーコミットというのをやると本来あるはずよりも多くメモリとか CPU とかを使えるよ、という話。
OpenStack に限った話ではないけど。インスタンスを立てていると、物理マシンのメモリ限界を超えてインスタンスを立てることができる。例えば 8GB メモリを積んだ物理マシン上に 2GB メモリを使うインスタンスが5つ立つとか。なぜ本来ないはずのメモリがあるかのように振る舞えるのか。
パソコンを使っていてもそうだが、常にメモリを100%使っている、というわけではない。これは物理マシン上で動いているインスタンスも同じである。常に大体メモリは余っているのだ。また、 CPU 等も同様である
オーバーコミットは「常に大体メモリや CPU は余っている」という仮定の下「常にメモリや CPU 等は余っているんだからちょっとくらい多く配っても平気だよね」と多く割り当ててしまうという機能だ。
上述の仕組みである関係上「8GB メモリを積んだ物理マシン上に 10GB メモリを使うインスタンスを立てる」とかはできない。また、どれだけ大きく見せかけるかはよくよく考えて設定しなければならない。
ちなみに、OpenStack はデフォルトで「メモリは 1.5 倍オーバーコミット」「CPU は 16 倍オーバーコミット」しているようだ。
ただいまコメントを受けつけておりません。