ProcessRunner.OnIdle, System.InvalidOperationException
今天突然發現AgilePoint Server 的Log 長大到20M,檢查後發現之前就曾發生過, 趕快檢查一下內容, 發現都是
2010-01-25 16:30:16.538 >>> ProcessRunner.OnIdle, System.InvalidOperationException: 指定的分類的計數器配置無效,以下型別的計數器: AverageCount64、AverageTimer32、CounterMultiTimer、CounterMultiTimerInverse、CounterMultiTimer100Ns、CounterMultiTimer100NsInverse、RawFraction 或 SampleFraction 後面必須緊接著下列任何基礎計數器型別: AverageBase、CounterMultiBase、RawBase 或 SampleBase。
於 System.Diagnostics.CategorySample.GetCounterDefinitionSample(String counter)
於 System.Diagnostics.PerformanceCounter.NextSample()
於 System.Diagnostics.PerformanceCounter.NextValue()
於 bc.a(Object A_0, EventArgs A_1)
於 ao.e()
這個錯誤我還是第一次看到, 我也是第一次知道AgilePoint 有讀效能計數器.
後來追查幾次log 記錄時間, 發現log記錄這個錯誤前, 事件件檢視器的應用程式上都有警告的訊息.
檢查內容發現是iasperf.dll 的問題, 看來是微軟的作業系統的問題.
有看到一篇文章談到如何解決, 不過只談到如何忽略這個訊息, 但沒找到patch, 且不知忽略後, 對AgilePoint Server 的exception Log 會有什麼影響, 故先記錄下來., 下次再出現時再來測試.
http://support.microsoft.com/?id=249138
Modify the registry at your own risk.
To control this feature, set a REG_DWORD value named Configuration Flags in: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib If this value is not present, you can add it. The following lists the values and their meanings:
0x00 - Test for data buffer alignment errors.
0x01 - Do not test for data buffer alignment errors. Suppresses 1016 event.
0x02 - Do not disable DLLs when a critical error occurs but still post the events.
0x04 - Disable all perf counter function testing regardless of testing level. Critical errors will still disable DLLs.
0x08 - Enable the disabling of DLLs if timeouts are exceeded. Normally only other critical errors would disable DLLs.
0x10 - Enable the collection of statistics for each performance DLL. This is the default of Configuration Flags, if the value is not present.
set it to 0x01
留言
張貼留言