この記事では、同一のサーバー環境間のメモリ消費量を測定および比較するのに役立ちます。 目標は、ベースラインを確立し、同じ期間にデータを収集し、システムが同じワークロードを持っていることを確認することによって、データ ベースの結論 (DBC) に到達することです。
前提条件
- 両方のサーバーパフォーマンス モニターデータ コレクター セットを作成します。
- 各サーバー環境からデータ トレースを収集できることを確認します。
- さまざまなユーザー ワークロードと、リソースの使用状況への影響を理解します。
クイック回避策: サーバーを再起動する
- 両方のサーバーを再起動して、メモリ使用量をクリアします。
- 再起動後に事前に定義された期間、メモリ使用量を監視します。
メモリのパフォーマンスを測定する
バニラインストールでベースラインを確立する
1 台のサーバーでバニラ インストールを実行します。 通常の稼働日に 8 時間のパフォーマンス モニター トレースを収集します。
システムからデータを収集する
バニラインストールと同じ期間に、クライアントAとクライアントBとして指定された2つの追加システムから8時間のパフォーマンス モニタートレースを収集します。
比較のために、同じ期間の次の 3 つのデータ セットが理想的です。
- バニラ
- クライアント A
- クライアント B
ユーザー ワークロードへの影響を分析する
- 環境ごとにワークロードの種類 (Light、Medium、Heavy、Power) を特定します。
- session ホスト仮想マシンのサイズ設定ガイドラインに記載されている例を使用してユーザー ワークロードを分類します。
- ライト: 基本的なデータ入力タスク (データベース入力アプリケーションなど)。
- 中: 静的 Web ページや Microsoft Word を使用した市場調査などのタスク。
- 重い: 動的 Web ページ、Microsoft Outlook、PowerPointを含むソフトウェア開発。
- パワー:写真やビデオ編集ツールを使用したグラフィックデザインまたは3Dモデリング。
- システム上のアクティビティを比較するには、次のパフォーマンス カウンター オブジェクトを使用します。
- [メモリ]
- CPU
- ディスク アクティビティ
- プロセス数
- セッション数
メモリの主要なパフォーマンス カウンターを比較する
- 使用可能な MB: 残りの空き RAM
- % Committed Bytes In Use: 割り当てられた物理リソース
- プール ページ バイト: ページ アウトできるカーネル メモリ
- プールの非ページ バイト: ページングできないカーネル メモリ
- キャッシュ バイト数: ディスク使用量カーネル メモリ
- ワーキング セット: RAM のアクティブ プロセス メモリ
リソースの使用状況に影響を与えるさまざまなワークロード
ユーザー ワークロードが異なると、CPU、RAM、ストレージなどの物理リソースの要件が異なります。
解決策: データ収集に基づいてユーザーの動作を標準化する
バニラ インストール、クライアント A、およびクライアント B から収集されたすべてのトレースで、同様の使用パターンを特定します。
同様の条件下でパフォーマンス カウンターを確認して、ワークロードが同等であることを確認します。
カウンタ | バニラのインストール | クライアント A | クライアント B |
---|---|---|---|
使用中のコミット済みバイト数の割合 | X% | Y% | Z% |
使用可能な MB | x | 年 | Z |
Process\Working Set (_Total) | x | 年 | Z |
リソースの割り当てを調整するか、それに応じてアプリケーションを最適化することで、不一致に対処します。
シナリオ ガイド: パフォーマンス カウンターを使用してシステムを比較する
前のセクションで説明したカウンターを使用して、3 つのシステム (バニラ、クライアント A、クライアント B) を比較するには、テーブルを使用します。
カウンタ | バニラのインストール | クライアント A | クライアント B |
---|---|---|---|
使用中のコミット済みバイト数の割合 | 28.5% | 42.7% | 83% |
Available MBytes (Min) | 10.8 GB | 7.5 GB | 2.6 GB |
ワーキング セット (_Total) (最大) | 5.2 GB | 8.7 GB | 15.8 GB |
結果は、別のユーザー読み込み動作を確認しているようです。 結果は、プロセスの数を確認して確認することもできます。
カウンタ | バニラのインストール | クライアント A | クライアント B |
---|---|---|---|
System\Processes (Max) | 199 | 268 | 338 |
さらに確認するには、CPU 使用率カウンター Processor\% Idle Time (_Total) を使用して、別のユーザー ロード パターンを識別できます。 いくつかのサンプルのスクリーンショットを次に示します (1 つ目はバニラ インストール用、2 つ目はクライアント A 用、3 番目はクライアント B 用です)。
バニラ:
クライアント A:
クライアント B:
ユーザーの読み込み動作をさらに詳しく調べてみたい場合は、次のプロセスを確認してみてください。
- Outlook
- Office
- Teams (および Teams プロセスでは、
msedgewebview2
プロセスがあります) - Microsoft Edge
- Microsoft 以外のブラウザー
データ収集
さらに詳しい分析とガイダンスを得るためのMicrosoft サポートのヘルプが必要な場合は、包括的なログをお問い合わせください。
すべてのパフォーマンス カウンターの詳細なログを長期間にわたって準備するには、次の手順に従います。
比較する場合は、必ず同じ時間と期間を記録してください。
次のコマンドを実行して、それ自体を上書きする 8 時間のパフォーマンス データ コレクター セットを作成します。
Logman.exe create counter PerfLog-30Sec-%ComputerName% -o "c:\perflogs\%computername%_PerfLog-30sec.blg" -f bincirc -v mmddhhmm -max 800 -c "Hyper-V Dynamic Memory Balancer (*)\*" "Hyper-V Hypervisor Virtual Processor(*)\*" "Hyper-V Hypervisor Logical Processor(*)\*" "\LogicalDisk(*)\*" "\Memory\*" "\Cache\*" "\Network Interface(*)\*" "\Paging File(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Processor Information(*)\*" "\Processor Performance(*)\*" "\Process(*)\*" "\Redirector\*" "\Server\*" "\System\*" "\Server Work Queues(*)\*" "\Terminal Services\*" -si 00:00:30
引き続き、データ コレクター セットを手動で開始する必要があります。