仮想マシンのメモリおよび CPU リソース制限の影響
search cancel

仮想マシンのメモリおよび CPU リソース制限の影響

book

Article ID: 416390

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免責事項:これは英文の記事 「Impact of virtual machine memory and CPU resource limits」の日本語訳です。
記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。
最新情報は英語版の記事で参照してください。


この記事では、仮想マシンのリソース制限がCPUとメモリに与える影響について説明します。
ESXi ホストに余力があるように見える場合でも、仮想マシンのパフォーマンスが低下し、バルーニングや VMkernel スワップが発生します。

Environment

VMware vSphere ESXi 7.0
VMware vSphere ESXi 8.0

Resolution

仮想マシンにおけるCPUとメモリの両方に対するリソース制限は、仮想マシンに対する人為的な上限を設けます。

メモリ制限

仮想マシンのメモリ制限が、割り当て(プロビジョニング)メモリより小さい場合、その制限値が 当該 VM に直接割り当て可能な物理メモリの上限として機能します。
ゲスト OS はこの制限を認識せず、割り当てメモリ量に基づいて独自のメモリ管理を最適化します。

制限に達した場合、ゲスト OS は新規ページを要求できますが、VMkernel はそれ以上の物理メモリを消費することを許可せず、リソース逼迫時であるかの様に扱います。
仮想マシンが要求されたメモリを消費できるようにするために、メモリ回収技術が使用されます。

仮想マシンから要求されたページ数によっては、最悪の場合、VMkernelは要求を満たすためにVMkernelスワップに頼ることがあります。
VMkernelはまず、バルーンドライバを拡張してメモリの回収を試みます。これにより、ゲストメモリマネージャはページアウトするページを決定できます。
また、VMkernelはメモリページをスワップアウトする前に、圧縮を試みます。

esxtop を実行し、 MCTLSZ MCTLTGT SWCUR SWTGT CACHEUSD を確認することで、メモリ制限の影響を検証できます 。

esxtop の使用に関する詳細については、メモリパネル を参照してください。

 

CPU 制限

仮想マシンのリソース設定にCPU制限が設定されている場合、仮想マシンは割り当てられたCPUリソースを使い果たすと、物理CPU(pCPU)へのスケジュールが意図的に停止されます。
これはホストのCPU使用率に関わらず発生します。指定された制限は、ゲストOSではなく、仮想マシン全体のCPUリソースに適用されます。
制限が500MHzに設定されている場合、仮想マシンはpCPUから再スケジュールされ、再度スケジュールできるようになるまで待機する必要があります。
そのため、仮想マシンのパフォーマンスが低下する可能性があります。
同じESXiホスト上で多くの仮想マシンにこの制限が設定されている場合、ESXi全体のアクティビティに影響を与える可能性があります。

注 :SMP仮想マシンの場合、すべてのvCPUの合計が指定された制限を超えることはできません。
例えば、4つのvCPUを持つ仮想マシンで1200MHzの制限があり、vCPU間の負荷が均等である場合、vCPUあたりの最大速度は300MHzになります。

esxtop を実行して %RDY%MLMTDを確認することで、 CPU 制限の影響を確認できます 。

esxtop の使用に関する詳細については、CPU パネル を参照してください。

Additional Information

シェアを使用して、ホストがオーバーコミットされた場合にのみ、特定の仮想マシンのリソース使用を制限することもできます。

制限を使用することで、リソースのオーバーコミットを事前にシミュレートしたり、仮想マシンのリソース使用量を動的に制限したりできます(例えば、問題のある仮想マシンによる過剰なリソース使用がホストや他の仮想マシンに悪影響を与える場合など)。

メモリとCPUの管理の仕組みの詳細については、以下をご覧ください。