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

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

book

Article ID: 434754

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

この記事では、仮想マシンのリソース制限が CPU とメモリに与える影響について説明します。ESXi ホストがフル活用されていないにもかかわらず、仮想マシンのパフォーマンスが低下する場合があります。バルーニングや vmkernel のスワッピングが発生します。

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

Environment

VMware vSphere ESXi 7.0.x、
VMware vSphere ESXi 8.0.x

Resolution

仮想マシンにおける CPU とメモリの両方のリソース制限は、仮想マシンのリソース境界を形成します。

メモリ制限

メモリ制限が仮想マシンに割り当てられたメモリよりも小さい値に設定されている場合、それはその仮想マシンに直接割り当て可能な物理メモリ量の上限とみなされます。ゲストオペレーティングシステムはこの制限を認識せず、割り当てられたメモリサイズに合わせてメモリ管理オプションを最適化します。
 
制限に達した場合、または制限を超えた場合でも、ゲストオペレーティングシステムは新しいページを要求することはできますが、制限があるため、VMkernel はゲストが直接物理メモリを消費することを許可せず、仮想マシンをリソースが競合しているかのように扱います。要求されたメモリを仮想マシンが消費できるようにするには、メモリ解放技術が使用されます。
 
仮想マシンが要求するページ数によっては、最悪の場合、VMkernel は要求を満たすために VMkernel スワップを使用する可能性があります。VMkernel はまず、バルーンドライバを拡張してメモリを解放し、ゲストメモリマネージャがページアウトする内容を決定できるようにします。また、VMkernel はメモリ ページをスワップアウトする前に圧縮を試みます。
 
esxtop を実行し、MCTLSZ MCTLTGTSWCUR SWTGT、および CACHEUSD を確認することで、メモリ制限の影響を検証できます
 
esxtop の使用方法の詳細については、「メモリ パネル統計情報を参照してください。
 
CPU制限
 
仮想マシンのリソース設定で CPU 制限が設定されている場合、割り当てられた CPU リソースを使い切った仮想マシンは、意図的に PCPU への割り当てが停止されます。これは CPU 使用率に関係なく発生します。指定された制限は、ゲスト OS ではなく、仮想マシン全体の CPU リソースに適用されます。制限が 500MHz に設定されている場合、仮想マシンは PCPU から再割り当てされ、再度割り当てられるまで待機する必要があります。そのため、仮想マシンのパフォーマンスが低下する可能性があります。同じ ESXi ホスト上で多数の仮想マシンに制限が設定されている場合、ESXi 全体の動作に影響を与える可能性があります。
 
:SMP 仮想マシンでは、すべての vCPU の合計は指定された制限を超えることはできません。例えば、vCPU が 4 つ搭載され、制限が 1200MHz で、vCPU 間の負荷が均等な場合、vCPU あたりの最大周波数は 300MHz となります。
 
esxtop を実行して %RDY と %MLMTD を確認することで、CPU 制限の影響を検証できます
 
esxtopの使用方法の詳細については、「CPU パネル統計情報を参照してください。



Additional Information

ホストのリソース使用量が過剰になった場合にのみ、共有機能を使用して特定の仮想マシンのリソース使用量を制限することもできます。
 
リソースの過剰使用を事前にシミュレートしたり、仮想マシンのリソース使用量を動的に制限したりするために、制限を使用できます(たとえば、不正な仮想マシンの過剰なリソース使用がホストや他の仮想マシンに悪影響を与える場合など)。

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