パフォーマンスカウンターにProcessorがない!

ようやくperformance にProcessor が表示されない原因がわかりました。

Microsoft に次のサポート情報がありました。
[PRB] パフォーマンス モニタにパフォーマンス オブジェクトが表示されないhttp://support.microsoft.com/default.aspx?scid=kb;ja;248993

これを読むと何らかの理由でperformance オブジェクトが取得できずに
エラーとなってしまうと、perfmon自体が動かなくなってしまうという
構造的な問題がるので、その部分だけをdisableにするという
動きをします。

今回のケースだと、CPU, Memory 関連のパフォーマンスオブジェクトが
何らかの理由でエラーとなり、disableになっていたためです。

これを回復するには、レジストリの該当部分を変更します。
方法は先のサポート情報に記載されています。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfOS\Performance
のDisable Performance Counters が1になっているので、0に変更する。

Windows リソースキットの Exctrlst.exe を使用しても復帰可能なようです。

なぜディスエーブルになったのかというと、Windows の設定で
paging なしにしていたためです。
どうしてpaging 無しにしていたのかというと、ちょろちょろと
ページングが起きて、ディスクアクセスが発生するのでうざったいから、
ページング無しに設定していました。。
(ページングを無効にすることは、推奨されていません。)

そうすると、Paging ファイルなしにする。
→ページング情報が取れない。
→取れないカテゴリがあると Perfmon が止まってしまう。
→Windows がエラーの起こったカテゴリをDisable にする。
→特定のカテゴリが見えなくなる。
というストーリーです。

ということで、Paging なしにするとだめってことですね。
Paging 無しだと、ちょっとしたページングがなくって、
快適だったんですけど、残念。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です