[System] 找出Performance Counter中消失的Process計數器
前言
在檢查線上系統各種異常的行為,例如記憶體持續攀高、CPU 100%等異常狀況時,
Performance Counter (效能計數器)是我經常使用的工具,
透過效能計數器所錄製下來的紀錄檔,我可以藉由他來分析發生異常時,
造成的問題可能有哪些,或是哪些Process所引起的,更甚者可以搭配Dump來做交叉分析,
但今天在某台線上伺服器設置Performance Counter資料收集器時,
卻發現我無法在可用的計數器中找到Process選項!
消失的Process?
上網查了一下原因,發現可能是因為Performance Counter的Process選項在紀錄檔之中被關掉了!
Process計數器所對應開關的位置在
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance
找到右邊有一個Disable Performance Counters的值被設為1了
讓Process計數器現形!
開啟的方法非常的簡單,
只要將Disable Performance Counters的值改為0之後,再重新開啟Performance Counter即恢復正常了
或是你可以安裝 Exctrlst,這是微軟出的一個Resource Kit Tool,
可以用來電腦裡面裝了哪些擴充的Performance Counter DLL,
安裝後打開Excltrlst.exe,可看到畫面如下
選擇PerfProc,將Performance Counters Enabled打勾,
再重新開啟Performance Counter,Process計數器又出現囉!
結語
其實最後還是沒有發現為什麼這台機器的Process計數器預設是被關掉的,
但經過查找資料後,也發現了計數器被隱藏的原因,
之後如果遇到類似的問題,就可以從此處來著手,減少困擾的時間囉!
把這個方法分享給大家,希望對大家有幫助 ^^
參考資料