【发布时间】:2013-01-23 12:17:23
【问题描述】:
当我遇到这个奇怪的问题时,我试图弄清楚为什么某些性能计数器没有在我们的生产服务器中更新 - 当计数器不是只读时,它似乎返回不同的 RawValue 值。只读时始终为零,非只读时显示不同的值。
这是我的 PowerShell 会话显示:
PS C:\Users\doron> $counter = new-object Diagnostics.PerformanceCounter
PS C:\Users\doron> $counter.CategoryName = "My category"
PS C:\Users\doron> $counter.CounterName = "My counter name"
PS C:\Users\doron> $counter.ReadOnly = 1
PS C:\Users\doron> $counter
CategoryName : My category
CounterHelp : My counter name
CounterName : My counter name
CounterType : NumberOfItems64
InstanceLifetime : Global
InstanceName :
ReadOnly : True
MachineName : .
RawValue : 0
Site :
Container :
PS C:\Users\doron> $counter.ReadOnly = 0
PS C:\Users\doron> $counter
CategoryName : My category
CounterHelp : My counter name
CounterName : My counter name
CounterType : NumberOfItems64
InstanceLifetime : Global
InstanceName :
ReadOnly : False
MachineName : .
RawValue : 20
Site :
Container :
PS C:\Users\doron> $counter.ReadOnly = 1
PS C:\Users\doron> $counter
CategoryName : My category
CounterHelp : My counter name
CounterName : My counter name
CounterType : NumberOfItems64
InstanceLifetime : Global
InstanceName :
ReadOnly : True
MachineName : .
RawValue : 0
Site :
Container :
服务器是 Windows 2008 R2,运行 .NET 4.5。
重要的一点是,我的所有其他性能计数器都不是这样,只有一些最近添加的性能计数器(这些是不起作用的)。对于所有其他计数器,无论是否为 ReadOnly,RawValue id 始终相同。
知道是什么原因造成的吗?
【问题讨论】:
-
您能否提供更多信息,首先您是如何获得 $counter 价值的。
-
我一开始就加了
-
@DoronYaacoby,你找到解决这个问题的方法了吗?我有完全同样的问题,并且非常感谢任何可能导致解决方案的信息。请...
-
@DoronYaacoby,很抱歉再次询问,但如果您解决了这个问题,解决方案是什么?如果您不想回复 SO,请通过 gmail dot com 的 dnovatchev 与我联系
-
@DimitreNovaatchev 抱歉,但不,我从来没有解决它。我们最终放弃了自定义性能计数器。
标签: .net windows powershell performancecounter