これが私の問題を理解するのに十分に明確でない場合は、事前に謝罪します。少し長くなりますが、理解できるように最善を尽くしました。
Windowsサーバー2016でExchange 2016 CU6を実行していますVMで、仮想メモリ(ページファイル)が不足しているという警告がアプリケーションログに頻繁に表示されます。
私の監視では、VMが4月に作成されて以来、ページファイルが4GBであり、4GBを超えて増加したことも減少したこともありません。
この問題のトラブルシューティングを行い、問題を理解するために、Windows Server 2016 StandardとWindows Server 2008 R2 Enterpriseのバニラインストールで2つのテストVMを作成しました。どちらも同じ物理メモリと仮想メモリの構成です。
テストVM構成
[〜#〜] ram [〜#〜]:4GB
ディスクC(システム専用):32GB
ディスクG(ページファイル専用):8GB
ドライブCのページファイル:512-1024 MB
ドライブGのページファイル:システム管理サイズ
私のテストVM 2016は現在、C:ドライブで512MB、G:ドライブで1GBを使用しており、合計5.5のコミットメモリ
テストVM 2008は現在、C:ドライブで512MB、G:ドライブで4GBを使用しており、合計12.5GBのコミットメモリ
コミットメモリについて多くの調査を行った後、Mark Russinovitchからこの記事を見つけました: https://blogs.technet.Microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows -virtual-memory /
テストでページファイルが増加するかどうかを確認するために、ツールtestlimit64.exeを-mスイッチと共に使用することを決定しましたVM 2016 and test VM 2008 。
結果は、最初に説明した問題を反映しています。テストのページファイルVM 2016はG:ドライブでは増加しませんが、テストでは増加しますVM 2008 :
このMicrosoft KBによると: https://docs.Microsoft.com/en-us/windows-hardware/drivers/debugger/automatic-memory-dump 、-の下の自動メモリダンプ設定を使用コントロールパネル]-> [システム]-> [システムの詳細設定]-> [起動と回復]-> [デバッグ情報の書き込み]システム管理として構成されたページファイルを使用すると、ページファイルをサイズまたは物理メモリよりも小さいサイズに設定できます。 。
私が実行したテストではこの設定を使用していません。テストVM 2008とテストVM 2016の両方がカーネルメモリダンプで構成されていました。
したがって、G:ドライブのページファイルをテストで管理されたシステムに設定すると、VM 2016の場合、そのサイズはWindowsによって自動的に設定され、負荷がかかっても増加しません。これは、Windows Server 2008での動作変更であるため、問題の中心です。
私の最後のテストは、G:ドライブのページファイルを手動で4096-8100 MBに構成し、ツールtestlimit64.exeを-mスイッチで再度実行することでした。
これが私の質問です:Windows Server 2016がシステム管理に設定されている場合、ページファイルのサイズが増加しないのはなぜですか?これに関してWindows Server 2008と2016の間で何が変更されましたか?
最後までお読みいただき、ありがとうございました。
この記事 によると、Server 2016のシステム管理ページファイルのサイズは次のとおりです。
3 × RAM or 4 GB, whichever is larger. This is then limited to the volume size ÷ 8. However it can grow to within 1 GB of free space on the volume if required for crash dump settings.
Server 2008の場合:
3 × RAM or 4 GB, whichever is larger
したがって、Server 2016で適用されている1/8のルールが表示されているようです。
それが役に立てば幸い...乾杯