Home > Windows にまつわる e.t.c.

メモリー不足調査スクリプト(PowerShell)


Windows PC / Windows Server がパフォーマンスダウンを起こす場合、メモリー不足が原因になっていることがあります。

メモリー不足が問題なのか、それ以外が問題なのかを切り分けるためのスクリプトを書きました。

 

計測指標

計測は、以下パフォーマンスカウンターを指標としています

ページング \Memory\Pages/sec 5 以上の場合は「過剰ページング」
ディスク速度 \PhysicalDisk(ページファイルのあるディスク)\Avg. Disk sec/Transfer 計算に使っている値
ページ処理状態 ページング * ディスク速度 0.1 を超える場合「スローダウン」

 

使い方

引数を与えずそのまま実行してください。

5 秒ごとに計測します(終了 Ctrl+C)

~\SlowDownCheck.ps1

「スローダウン」が大量に出るようであれば、メモリー不足が原因でスローダウンしています。

 

-RecordLog オプションを指定すると、カレントディレクトリにログ(SlowDownCheck_YYYY-MM-DD.log)が出力されるので、後から計測結果を確認できます。

~\SlowDownCheck.ps1 -RecordLog

 

カレントディレクトリを PowerShell で開くには、以下コマンドを入力します。

ii .

 

-Help で使い方も表示できます。

~\SlowDownCheck.ps1 -Help

 

入手方法

Invoke-WebRequest でダウロードするか、GitHub のリポジトリを Clone してください。

Invoke-WebRequest https://raw.githubusercontent.com/MuraAtVwnet/SlowDownCheck/master/SlowDownCheck.ps1 -OutFile ~\SlowDownCheck.ps1

 

リポジトリ

https://github.com/MuraAtVwnet/SlowDownCheck

git@github.com:MuraAtVwnet/SlowDownCheck.git

 

back.gif (1980 バイト)

home.gif (1907 バイト)

Copyright © MURA All rights reserved.