gpt4 book ai didi

c# - 获取 CPU 使用率会产生 "Category does not exist"错误

转载 作者:太空狗 更新时间:2023-10-29 22:07:26 26 4
gpt4 key购买 nike

我正在使用流动代码,但它说该类别不存在。

static PerformanceCounter cpuUsage;

public static void Main(string[] args)
{
cpuUsage = new PerformanceCounter("Processor", "% Processor Time", "_Total");

Console.WriteLine(cpuUsage.NextValue() + " %");
Thread.Sleep(1000);
Console.WriteLine(cpuUsage.NextValue() + " %");
Console.Read();
}

最佳答案

下午好!

此问题的核心原因是指向注册表中性能计数器的指针看似随机损坏。这种情况很少发生,但最常发生在 Windows Server 2008 R2 上。

严格来说,“进程”和“处理器”类别在默认情况下应始终作为性能计数器存在。如果它们丢失了,则可能还有许多其他计数器也丢失了。如果“处理器信息”计数器也已损坏,以前的解决方案将无法解决问题。要明确解决此问题,您可以运行以下命令:

lodctr /R

这将修复任何损坏的计数器指针。要验证此解决方案,您可以转到 Server Manager -> Monitoring -> Performance Monitor -> Add ...在此 View 中,您可以查看所有当前注册的性能计数器。 “Processor”和“Process”现在都应该可用。或者,您也可以运行以下命令来查看所有可用计数器的状态:

lodctr /Q

作为旁注,这个命令应该从管理控制台运行;否则此过程可能会失败并显示“错误代码:5(拒绝访问)”

关于c# - 获取 CPU 使用率会产生 "Category does not exist"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12435869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com