OS のメモリ使用量が増加する事象の調査

目次

本記事はマイクロソフト社員によって公開されております。

こんにちは。 Windows Performance チームの飯田です。 本ブログでは、 システムでメモリ使用量が増加する事象が発生した場合に採取いただきたい資料についてご紹介いたします。 システムでメモリ使用量が増加する場合は、事象の発生状況により採取いただきたい資料が変わりますので、以下、順にご説明いたします。

[A] 事象の再現性がある場合

資料採取の流れ

  1. 採取用スクリプト (TSS.zip) を資料採取対象のマシンの任意の場所にコピーし展開します。
  2. トレース情報の採取を開始します。
  3. 事象が再現したことを確認します。
  4. トレース情報の採取を停止します。

※ 比較調査のため、現象発生時のパターンと正常時のパターンの 2 パターンの採取をお願いいたします。

ログ採取について

  1. https://aka.ms/getTSS から “TSS.zip” をダウンロードし、調査対象端末の任意のフォルダに解凍します。

    ※ TSS は機能の拡張などにより内容が変更されることがあるため、毎回上記のダウンロード先から取得してください。
    ※ 2024年7月8日以降ツールの入手方法の変更が計画されています。該当 URL にアクセスできない場合、サポート リクエストを発行の上、担当エンジニアまでご連絡ください。

  2. Windows PowerShell (powershell.exe) を管理者として実行し、cdコマンドで解凍した TSS フォルダーへ移動後、以下のコマンドでログ取得を開始します。

    Set-ExecutionPolicy bypass -Scope Process -Force
    .\TSS.ps1 -PerfMon General -PerfIntervalSec 5 -PerfMonCNF 06:00:00 -Xperf Memory -XPerfMaxFileMB 16384 -BasicLog -noXray -noUpdate -StartNoWait -LogFolderPath C:\MS_DATA
    

    ※ 出力先フォルダー名に C:\MS_DATA 以外のフォルダーを指定することも可能です。

    ※ 最大ファイルサイズは 16384 以外のサイズ (MB) を XPerfMaxFileMB オプションに指定することも可能です。

    ※ サポートのガイドがあり、Pool タグ (例:TcpE、AleE、AfdE、AfdX) を指定する場合は以下のように実行します。

    Set-ExecutionPolicy bypass -Scope Process -Force
    .\TSS.ps1 -PerfMon General -PerfIntervalSec 5 -PerfMonCNF 06:00:00 -Xperf Pool -XPerfTag TcpE+AleE+AfdE+AfdX -XPerfMaxFileMB 16384 -BasicLog -noXray -noUpdate -StartNoWait -LogFolderPath C:\MS_DATA
    
  3. 事象を再現させます。

  4. 事象再現後、TSS を以下のように実行してログの採取を停止します。

    .\TSS.ps1 -Stop
    
  5. 指定したログの出力先フォルダーに zip ファイルが作成されておりますので、そのファイルを弊社までご提供ください。

その他連携いただきたい情報

  1. 事象発生日時をお伝えください。
  2. メモリ使用量の増加を捉えたパフォーマンスに関するログがお手元にございましたら、合わせてご提供ください。

[B] 常にメモリ使用量が増加している場合

資料採取の流れ

  1. 採取用スクリプト (TSS.zip) を資料採取対象のマシンの任意の場所にコピーし展開します。
  2. トレース情報の採取を繰り返します。(30分、20分、10分)

ログ採取について

  1. https://aka.ms/getTSS から “TSS.zip” をダウンロードし、調査対象端末の任意のフォルダに解凍します。

    注意:TSS は機能の拡張などにより内容が変更されることがあるため、毎回上記のダウンロード先から取得してください。

  2. Windows PowerShell (powershell.exe) を管理者として実行し、cdコマンドで解凍した TSS フォルダーへ移動後、以下のコマンドでログを取得します。

    Set-ExecutionPolicy bypass -Scope Process -Force
    .\TSS.ps1 -PerfMon General -PerfIntervalSec 5 -PerfMonCNF 06:00:00 -Xperf Memory -XPerfMaxFileMB 16384 -noBasiclog -noXray -noUpdate -StartNoWait -LogFolderPath C:\MS_DATA
    
    30分後
    
    .\TSS.ps1 -Stop
    .\TSS.ps1 -PerfMon General -PerfIntervalSec 5 -PerfMonCNF 06:00:00 -Xperf Memory -XPerfMaxFileMB 16384 -noBasiclog -noXray -noUpdate -StartNoWait -LogFolderPath C:\MS_DATA
    
    20分後
    
    .\TSS.ps1 -Stop
    .\TSS.ps1 -PerfMon General -PerfIntervalSec 5 -PerfMonCNF 06:00:00 -Xperf Memory -XPerfMaxFileMB 16384 -noBasiclog -noXray -noUpdate -StartNoWait -LogFolderPath C:\MS_DATA
    
    10分後
    
    .\TSS.ps1 -Stop
    .\TSS.ps1 -CollectLog BasicLog -noXray -noUpdate -LogFolderPath C:\MS_DATA
    

    ※ 出力先フォルダー名に C:\MS_DATA 以外のフォルダーを指定することも可能です。

    ※ 最大ファイルサイズは 16384 以外のサイズ (MB) を XPerfMaxFileMB オプションに指定することも可能です。

    ※ サポートのガイドがあり、Pool タグ (例:TcpE、AleE、AfdE、AfdX) を指定する場合は以下のように実行します。

    Set-ExecutionPolicy bypass -Scope Process -Force
    .\TSS.ps1 -PerfMon General -PerfIntervalSec 5 -PerfMonCNF 06:00:00 -Xperf Pool -XPerfTag TcpE+AleE+AfdE+AfdX -XPerfMaxFileMB 16384 -BasicLog -noXray -noUpdate -StartNoWait -LogFolderPath C:\MS_DATA
    
  3. 指定したログの出力先フォルダーに zip ファイルが作成されておりますので、そのファイルを弊社までご提供ください。

その他連携いただきたい情報

  1. 事象発生日時をお伝えください。
  2. メモリ使用量の増加を捉えたパフォーマンスに関するログがお手元にございましたら、合わせてご提供ください。

[C] 事象の再現性がない場合

事象に再現性がない場合は、原因の特定が困難になります。システム構成やログから過去の類似事例を調査いたしますので、以下の Web ページ記載の資料採取をお願いします。

初期調査にご取得いただくログ情報

以上となります。本ブログが少しでも皆様のお役に立てば幸いです。

本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。