こんにちは。
インフラエンジニアのねるです。こんにちは。
こんにちは。
今回はWindowsの仮想OS上でVMwareToolsのメモリ使用量が高い時の原因と対処方法をご紹介します!
僕が発生した環境は以下の環境でした。
vCenter Server Enterprise 5.5
VMware vSphere ESXi 5.5
Windows Server 2008 R2、2012R2
VMware Tools Version 9.4.0
vCenterやWindowsのバージョンは関係なく発生する現象かと思います。
メモリ使用量が高くなることで、仮想OSの応答が遅くなる事がありました。
僕の場合はVMware Toolsのバグでした。バグによってメモリリークしていたようです。
やっぱりエージェントは出来る限り入れたくないのがサーバエンジニアとしての思いですね。
ただ、他にも同じような状況が発生する場合があります。
ESXi上でバルーニングが発生している場合です。
VMware vSphere ESXiは治安が悪いので、空いているメモリがあれば、人のメモリだろうと使ってしまいます。これがバルーニングです。
バルーニングをされた仮想OSは、自分がバルーニングでメモリを奪われているとは気付けず、VMware Toolsのメモリ使用量が高いんだなー。そっかー。という状況になってます。
なので、VMware Toolsが使用しているメモリ量が多い場合は、vSphere ClientやvSphere Web Client等を使って、ESXiでバルーニングが発生していないか確認してみましょう。
メモリのパフォーマンス情報を確認すると、バルーニングのメトリックが選択できるはずです。
大量に発生していたら、ほぼ黒です。争いが起こっています。
他のバルーニングが発生していないESXiに仮想OSを逃がしたり、仮想OSを再起動すると事象が改善されます。
ただ、仮想OSを再起動するパターンの場合、またバルーニングでメモリが奪われてしまう可能性があるため、一時的な対処療法にしかならない可能性があります。
環境にもよりますが、メモリの空いているESXiがあるのであれば、移動することを推奨します。
DRSなんか導入しちゃえばこういう面倒な事は発生しづらくなりますが、
vCenter Server Enterpriseのライセンスが必要なので、なかなか買えないですよね。
そうなってくると、vMotionロボット君を作るしかありません。人間かスクリプトかは、お任せします。
お困りの問題は解決できたでしょうか?
あくまで一つの事例になりますので、もし他のパターンもあればコメント欄で教えてください!では!