仮想マシン
 Computer >> コンピューター >  >> ソフトウェア >> 仮想マシン

ゲストOSでのメモリのオーバーコミットメントの検出

仮想化ホスト(VMWare ESXiまたはHyper-V)で実行されるVMを管理し、パフォーマンスの問題を分析する場合、ゲストOSで使用可能なメモリのサイズがオペレーティングシステムで認識される(またはに割り当てられる)サイズよりもはるかに小さい状況に直面することがよくあります。それ)。たとえば、8 GBのメモリが仮想マシンに割り当てられている場合、タスクマネージャは、実行中のすべてのプロセスが3 GB未満しか消費しないにもかかわらず、1GBが空いていることを示します。残りの4GBはどこにありますか?

原則として、この動作はハイパーバイザーのメモリオーバーコミット機能を使用することによって発生します。

メモリのオーバーコミット はハイパーバイザー機能であり、物理ホストで使用できるよりも多くのメモリを仮想マシンに割り当てることができますが、要求されたすべてのメモリを特定の瞬間に割り当てることができるという保証はありません。メモリオーバーコミットにより、現在のホストの負荷に応じてVM間の動的なメモリ分散により、仮想マシンをより高密度に割り当てることができます(アイドル状態のVMのリソースは、より多くの負荷がかかったVMに再分散される場合があります)。

VMWareでメモリオーバーコミットを実装するためのメカニズムの1つは、メモリバルーニングです。 。 Hyper-Vでは、同じ機能が動的メモリによって実装されます。 。

。ちなみに、VMWareとMicrosoftはどちらも、メモリ圧縮を広く効果的に使用してメモリリソースを節約しています(これは、メモリオーバーコミットテクノロジの実装の1つでもあります)。

VMWare ESXiでは、メモリのオーバーコミットメント(仮想メモリのバルーニング)は vmmemctl.sysによって実装されます。 ドライバー(VMware Toolsに含まれています)。必要に応じて、偽のプロセス(バルーンの膨張など)を作成することにより、物理メモリをキャプチャできます。したがって、占有されているメモリ量はゲストOS内の他のアプリケーションで使用できなくなり、ハイパーバイザーは他のVM間で空きメモリを分散できます。 Hyper-Vダイナミックメモリでは、 dmvsc.sys 統合サービス(ダイナミックメモリVSCコンポーネント)のドライバが使用されます。メモリのオーバーコミットメント設定は、ハイパーバイザー管理者によって管理されます。

ゲストVM内から、ゲストオペレーティングシステムが認識しているよりも実際に使用可能な物理メモリが少ないことをどのように検出できますか?

ゲストWindowsOSにバルーンドライバーがあるかどうかを検出する方法と、そのサイズを考えてみましょう。それでは、この例を分析してみましょう。

ゲストWindowsServer2012R2を実行しているVMに8GBのメモリが割り当てられます。タスクマネージャは、メモリの93%が使用されていることを示しています(7.4 GBのメモリが占​​有されています)。ただし、実行中のすべてのプロセスで使用されているメモリの量を合計すると、実際には2.5GBのメモリしか使用されていないという予期しない結論に達する可能性があります。残りの5GBはどこにありますか?タスクマネージャーもリソースモニターもこの質問に答えることができません。

ゲストOSでのメモリのオーバーコミットメントの検出

メモリで何が起こっているかを理解するには、 RamMapを使用する必要があります Mark Russinovichによるツール(以前のケースの1つで、このツールを使用して、Windows Serverのメタファイルによる高メモリ使用量の問題を診断する方法を示しました)。ツールをMicrosoftWebサイト(https://technet.microsoft.com/en-us/library/ff700229.aspx)からダウンロードし、管理者権限で実行します。その後、使用回数で タブを見ると、ほとんどのメモリ(5.4 GB)がドライバーロックによって使用されていることがわかります。 オブジェクト。

ゲストOSでのメモリのオーバーコミットメントの検出

これは、ハイパーバイザーが占有し、ゲストOSのバルーンドライバーを使用して他の仮想マシン間で分散したメモリです。これは、ハイパーバイザーホストに十分なメモリがないか、ハイパーバイザー管理者がこのVMのメモリ制限ポリシーを使用していることを意味します。

Hyper-Vの現在のVMメモリ統計は、パフォーマンスモニターの個別のパフォーマンスカウンターによって表示される場合があります。

  • Hyper-Vダイナミックメモリ–>ゲスト可視メモリ
  • Hyper-Vダイナミックメモリ–>物理メモリ

この動作を無効にするには、ハイパーバイザー管理者は動的メモリを有効にするを無効にする必要があります VMのHyper-V設定のオプション(または最小予約値を増やす)。

ゲストOSでのメモリのオーバーコミットメントの検出

VMWare ESXiホストを使用している場合は、リソース設定でこの仮想マシン用にさらに多くのメモリを予約できます。 またはすべてのメモリを予約–すべてのゲストメモリを予約します(すべてロックされています)。

ゲストOSでのメモリのオーバーコミットメントの検出


  1. 物理メモリ ダンプ エラーを停止する方法

    物理メモリ ダンプ エラーは、「ブルー スクリーン オブ デス」の最も一般的な形式の 1 つです。このエラーは非常に深刻であるため、Windows はすべての操作を停止し、ブルー スクリーンを表示して問題とその原因を詳しく説明するしかありません。物理メモリ ダンプ エラーは、さまざまな原因で発生する可能性があります。これは、その修正方法に関するチュートリアルです。 物理メモリ ダンプ エラーは、実際には 2 つの異なる原因によって発生します。これらの問題は、簡単な段階的なプロセスを実行することで修正されます。エラー自体は、システムの整合性を維持しようとするために、システムがハード ドライ

  2. 物理メモリ ダンプ エラーを停止する方法

    物理メモリ ダンプ エラーは、「ブルー スクリーン オブ デス」の最も一般的な形式の 1 つです。このエラーは非常に深刻であるため、Windows はすべての操作を停止し、ブルー スクリーンを表示して問題とその原因を詳しく説明するしかありません。物理メモリ ダンプ エラーは、さまざまな原因で発生する可能性があります。これは、その修正方法に関するチュートリアルです。 物理メモリ ダンプ エラーは、実際には 2 つの異なる原因によって発生します。これらの問題は、簡単な段階的なプロセスを実行することで修正されます。エラー自体は、システムの整合性を維持しようとするために、システムがハード ドライ