10.6パフォーマンスモニタのトラブルシューティング
この節では、よく聞かれる質問事項とその回答を紹介します。考えられる原因と解決策も記述しています。
カウンタ値がゼロになる。
原因
解決策
|
そのオブジェクトの同じインスタンスに対するカウンタが既にグラフに表示されている。カウンタを重複して選んだ場合、収集されたデータはすべて最初のカウンタに対応するものになる。
1個のオブジェクトの1個のインスタンスに対して同じカウンタを複数持つことはできない。どちらかを削除する。
監視しているリモートコンピュータがオフラインである。
何の対処も必要ない。パフォーマンスモニタは、インスタンスの監視を続けようとし、コンピュータが再起動すると監視が再開される。
監視しているアプリケーションまたはスレッドが停止した。
何の対処も必要ない。パフォーマンスモニタは、インスタンスの監視を続けようとし、そのプロセスまたはスレッドが再起動すると監視が再開される。
パフォーマンスモニタが内部カウンタからデータを集めており、その内部カウンタが負の値や無効な値を返したために、パフォーマンスモニタがゼロを表示する。
パフォーマンスモニタのイベントログを有効にする。負の値や無効な値があると、イベントビューアアプリケーションのイベントログに報告される。詳細については、「パフォーマンスモニタのエラーのログ」を参照。
レポートのカウンタの値が、グラフの同じカウンタの値と同じにならない。
原因
解決策
|
グラフの終端でゼロに下がった瞬時値カウンタの値をレポートで表示していることが考えられる。レポート上の瞬時値カウンタは、収集した最後の値を表示する。レポート上の平均カウンタは、収集した値の平均を表示する。
ログ表示ウィンドウで時間ウィンドウを使ってグラフの終端の時刻を折れ線の代表的な部分に変える。終端以外の値もレポート形式で表示する必要がある場合は、グラフをワークシートにエクスポートする。
ログデータに対するグラフとレポートが、同じデータの異なるサンプルを集めていることがある。
このようなサンプリングの変動は、通常0.1未満である。これはカウンタの分解能の限界に近い。
CacheオブジェクトのHit%カウンタのデータの平均は、レポートとグラフとでは違った計算をしている。グラフ表示ウィンドウの値バーのデータは、テスト間隔のすべての変化を平均して算出している。レポート表示ウィンドウに表示される値は、テスト間隔の最初と最後のカウンタ値の差の平均になっている。
データのログ中にアプリケーションを実行していたが、ログからのデータをグラフ化しても、アプリケーションが[インスタンス]ボックスに現れない。
原因
解決策
|
ログが開始したときにアクティブでなかったアプリケーションは、たとえ、表示している間隔に起動時刻が含まれていても、時間ウィンドウの間隔を調節しなければ[インスタンス]ボックスに現れない。
時間ウィンドウを使って測定間隔の開始点をアプリケーションがアクティブな点に進める。その後、アプリケーションに対して少なくとも1個のカウンタを選択する。さらに、間隔を広げれば、記録したデータをすべて見ることができる。アプリケーションの監視は続き、すべてのデータは正しく表示される。
ログ中に別のログをグラフ化しようとすると、ログが止まる。
原因
解決策
|
[データ]は、すべての表示ウィンドウに適用される。グラフ表示ウィンドウに切り替えて[表示するデータ]を[現在の活動状況]から[ログファイル]に変えると、ログは現在の活動状況のデータを収集できなくなる。
パフォーマンスモニタをもう1つ開くと、クローズされたログファイルをグラフ化することができる。しかし、データを収集しているログファイルについてはグラフ化できない。
ディスクがアクティブなことは確かなのに、ディスクに対する値がすべてゼロになる。
原因
解決策
|
Physical DiskとLogical Diskのオブジェクトのカウンタは、ディスクパフォーマンス統計情報ドライバをI/Oマネージャのディスクスタックにインストールしないと動作しない。
Diskperfユーティリティを使ってディスクパフォーマンス統計情報ドライバをインストールし、コンピュータを再起動してから、再び試してみる。Diskperfの詳細については、第6章の「ディスクカウンタの有効化」、またはパフォーマンスモニタのヘルプを参照。
ディスクが複数あるのに、セットの中の最初のディスクの値しか表示されない。
原因
解決策
|
Diskperfを実行したときに、標準のオプションdiskperf -yを使っていることが考えられる。その場合、フォールトトレランスドライバFTDISKの上に統計情報ドライバが置かれる。統計情報ドライバからは、ディスクのそれぞれの物理インスタンスが見えなくなる。
diskperf -yeオプションを使ってDiskperfを実行し、コンピュータを再起動する。このようにすると、統計情報ドライバがフォールトトレランスドライバの下に置かれ、ボリュームセットに組み込まれる前の物理ディスクが見えるようになる。
グラフでどの線がどの項目を表しているかを知るにはどうしたら良いか。
原因
解決策
|
グラフが込み入ってくることがある。強調表示の機能を利用すると良い。
Backspaceキーを押して用例で選択したカウンタに対応するグラフの線、またはバーを強調表示する。用例をスクロールすると、強調表示が対応するグラフの線またはバーに移動する。
パフォーマンスモニタはどこにあるのか。起動したのに、どこにあるかがわからない。
原因
解決策
|
パフォーマンスモニタは、前に閉じたときと同じ状態で起動する。最小化しているときに閉じると、同じ状態で現れる。タスクバーを非表示にしていると見つけにくくなる。
タスクバーの領域をマウスでポイントしてタスクバーを表示させ、パフォーマンスモニタのアイコンをクリックすると、パフォーマンスモニタが現れる。
[インスタンス]ボックスには表示されているのに、カウンタのインスタンスに警告が設定できない。
原因
解決策
|
それぞれの名前のオブジェクトに対する最初のインスタンスにしか、警告は設定できない。同じ名前で複数のインスタンスがあれば、[インスタンス]ボックスにはカウンタに対するすべてのインスタンスが表示されるが、警告のトリガとなるのは最初のインスタンスのデータのみである。
これがあてはまるのは警告だけである。グラフ化、レポート作成、ログについては、同じ名前の複数のインスタンスに対して実行できる。
同じインスタンスの同じカウンタに対する異なった値に、2つの警告を設定した。どちらのしきい値も超えているのに、1個の警告しか報告されない。
原因
解決策
|
1個のオブジェクトの同じインスタンスのカウンタに対して、複数の警告は設定できない。そのインスタンスで集めたデータは、最初に設定した警告に対してだけ比較される。
[説明]がグレー表示になって使えない。
原因
解決策
|
ログファイルのデータで作業しているときは、[説明]が使用できない。
カウンタの定義を参照するには、パフォーマンスモニタをもう1つ開いて[表示するデータ]フィールドを現在の活動状況に設定する。
[ログの開始]がグレー表示になって使えない。
原因
解決策
|
ログに対してオブジェクトを少なくとも1つ選択していないと、[ログの開始]は使用可能にならない。
記録するオブジェクトを選んで再度試みる。
%Disk Read Timeと%Disk Write Timeの合計が%Disk Timeにならない。
原因
解決策
|
ディスクカウンタは、すべてキューの時間を含んでいる。キューが長いと、読み取りと書き込みの両方の時間に含まれるので、合計が100にならない。
物理ディスクまたは論理ディスクのインスタンスが複数あると、%Disk Read Time:_Totalと%Disk Write Time:_Totalの合計が100%を超える。
パーセント値のカウンタは、定義上100%が上限であり、それよりも大きな値は表示できない。代わりに、Avg. Disk Read Queue Length、Avg. Disk Write Queue Length、Avg. Disk Queue Lengthのカウンタを使う。これらは、%Disk Timeの各カウンタと同じデータを報告するが、10進の値であり、1.0を超えることができる。
なぜIDカウンタに_Totalインスタンスがあるのか、何が表示されるのか。
原因
解決策
|
[インスタンス]ボックスの項目は、それぞれのオブジェクトのすべてのカウンタで同一である。
IDの_Totalのようにインスタンスが意味を持たない場合、カウンタにはゼロの値が表示される。
Process:Pool Nonpaged Bytes:_Totalと、Memory:Pool Nonpaged Bytesが等しくならない。
原因
解決策
|
Memory: Pool Nonpaged Bytesの値は、バイト数を数える内部カウンタから取得している。Process: Pool Nonpaged Bytesのカウンタは、オブジェクトマネージャからの見積もり値である。オブジェクトマネージャは、領域ではなくアクセスを数えているため、カウントには、オブジェクトの領域に対する要求のほかに、重複するオブジェクトハンドルに対する要求が含まれている。
カウンタの静止している値は無視し、値の変化を監視する。
すべてのツールは同じカウンタを使っているため、パフォーマンスモニタ、タスクマネージャ、Process Explode、Process Viewer、Process Monitorには、すべて同じ制約がある。
Processor Queue Lengthカウンタはどこにあるのか。
原因
解決策
|
このカウンタはSystemオブジェクトのカウンタである。すべてのプロセッサに対して1個のプロセッサキューしかない。
1個のオブジェクトのそれぞれのインスタンスに対するカウンタ値が、合計値よりも大きい。
原因
解決策
|
%Disk Timeカウンタと%Processor Timeカウンタは、定義上100%に制限されている。複数のディスクまたはプロセッサを使っていれば、それぞれが100%になる可能性があるが、合計のカウンタは、和の値を表示できない。
物理インスタンスを個別に監視する。ディスクの場合は、%Disk Timeのカウンタの代わりにAvg. Disk Queue Lengthのカウンタを使う。これらのカウンタは、パーセント値ではなく10進数で合計を表示し、1.0を超えることができる。プロセッサの場合は、System:%Total Processor Timeカウンタを使う。このカウンタは、すべてのプロセッサでのアクティブな時間を平均する。
データのスパイクの間の値は合計には含まれない。データのスパイクは、スレッドやプロセスの起動や停止のときに起こることがある。これは、監視処理によって生じる値であり、有効なデータではない。
プロセスIDやスレッドIDのカウンタをグラフに追加し、データの表示を時間ウィンドウを使ってプロセスやスレッドの単一のインスタンスに制限する。詳細については、この章の「プロセスとスレッドの監視」を参照。