VM26*

VCIX取得を目指して勉強中→VCIX6-DCV取得しました!

仮想環境でメモリが足りなくなったときの状態について自分的メモ

一台の物理サーバで複数のサーバを稼働させることができるようになった仮想マシンは、CPUやメモリなどのリソースを共有しています。
 
共有されたリソースはシェア値、予約、制限等、複数の設定で各仮想マシンに適切に割り振ることができ、その結果、メモリが十分に行き渡らない仮想マシンもでてきます。
 
そういったときは仮想マシン
「監視タブ>使用率」の「ゲストメモリ」の枠に
共有→バルーン済み→圧縮済み→スワップ済み
といった順で現れます。
 
ちなみにゲストOSのパフォーマンスへの影響としては以下です。
 
共有<バルーン済み<圧縮済み<スワップ済み
 

f:id:udon0418:20170620233128p:image

 
なぜスワップ済みのメモリが発生する方がバルーン済みのメモリが発生するよりもゲストOSへの影響が大きいかというと、バルーン済みメモリはゲストOSに影響がなさそうな部分のメモリを回収していくわけですが、スワップ済みメモリの方はそんなん関係ないとばかりに一切配慮なく回収していくため、今まさに使っているメモリを奪っていく可能性が高いからです。
 
そして奪われたメモリのところを使おうと思ったら仮想マシンはデータストアにあるスワップファイルを読み込むのですごく遅くなるわけです。
しかもこのスワップファイル、仮想マシンを再起動するまで解放されないという…辛い。
 
以下、わかりやすく説明してくださっているサイトです。マニュアルだとよくわからなかったので、ここで勉強しました。
 
VMwareテクニカルトレーナよりワンポイントアドバイスVMware vSphereにおけるCPU・メモリの考え方編~
 
vCenterで確認できるメモリ情報の見方について
 
vCenterで確認できるメモリ情報の見方について
 
あと、蛇足です。バージョンによって表記が違う件で。
 
表記注意(vSphere 5.5の表示→vSphere6.5の表示)
 「ホストメモリ」 → 「仮想マシンのメモリ」
 「消費」→「消費された仮想マシン
 「オーバーヘッド」→「消費された仮想マシン オーバーヘッド」