说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

以下代码返回的raw有什么含义?

编辑:说三道四文库 发布时间:2018-07-18 06:51
HTML文档下载 WORD文档下载 PDF文档下载
PerformanceCounter myCounter = new PerformanceCounter();
myCounter.CategoryName = "Processor";
myCounter.CounterName = "% Processor Time";
myCounter.InstanceName = "_Total"
int64 raw = myCounter.RawValue;
RawValue

获取或设置此计数器的原始值(即未经过计算的值)。

如果计数器类型是 32 位大小,则试图将此属性设置为因太大而不合适的值时,该属性会将该值截断为 32 位。读取本地计算机上的自定义计数器时,在原始值即可的情况下,使用 RawValue 属性而不使用计算所得值可显著提高性能。

如果所读取的计数器是只读的,则获取 RawValue 属性将在调用该属性时对计数器取样。此操作等效于初始调用 NextSample 方法。如果您随后调用 NextSample,则可对两个调用返回的值进行计算。

因为系统计数器是只读的,所以您可以获取但不能设置它们的原始值。

我想求处理器的利用百分比,但是这个raw返回的是一个很大的整数,而且每次在递增,试着把前后两个值相减,除以处理器频率,发现不能反映处理器的忙闲程度(忙得时候该比值反而更小一些)。我想了解处理器时间(那个大整数)到底是个什么概念。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘