[System] 找出Performance Counter中消失的Process計數器

[System] 找出Performance Counter中消失的Process計數器

前言

在檢查線上系統各種異常的行為,例如記憶體持續攀高、CPU 100%等異常狀況時,

Performance Counter (效能計數器)是我經常使用的工具,

透過效能計數器所錄製下來的紀錄檔,我可以藉由他來分析發生異常時,

造成的問題可能有哪些,或是哪些Process所引起的,更甚者可以搭配Dump來做交叉分析,

但今天在某台線上伺服器設置Performance Counter資料收集器時,

卻發現我無法在可用的計數器中找到Process選項!

1

消失的Process?

上網查了一下原因,發現可能是因為Performance Counter的Process選項在紀錄檔之中被關掉了!

Process計數器所對應開關的位置在

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance

找到右邊有一個Disable Performance Counters的值被設為1

2

讓Process計數器現形!

開啟的方法非常的簡單,

只要將Disable Performance Counters的值改為0之後,再重新開啟Performance Counter即恢復正常了

2

或是你可以安裝 Exctrlst,這是微軟出的一個Resource Kit Tool,

可以用來電腦裡面裝了哪些擴充的Performance Counter DLL,

安裝後打開Excltrlst.exe,可看到畫面如下

2011-08-18_232448

選擇PerfProc,將Performance Counters Enabled打勾,

再重新開啟Performance Counter,Process計數器又出現囉!

結語

其實最後還是沒有發現為什麼這台機器的Process計數器預設是被關掉的,

但經過查找資料後,也發現了計數器被隱藏的原因,

之後如果遇到類似的問題,就可以從此處來著手,減少困擾的時間囉!

把這個方法分享給大家,希望對大家有幫助 ^^

 

參考資料

  1. The Mystery of the Missing Process Performance Counter in Perfmon