gpt4 book ai didi

c# - PerformanceCounter.NextValue 在某些机器上挂起

转载 作者:行者123 更新时间:2023-11-30 13:05:49 25 4
gpt4 key购买 nike

我不知道为什么,但是很多电脑在执行以下操作时挂起:

void Init()
{
net1 = new List<PerformanceCounter>();
net2 = new List<PerformanceCounter>();
foreach (string instance in new PerformanceCounterCategory("Network Interface").GetInstanceNames())
{
net1.Add(new PerformanceCounter("Network Interface", "Bytes Received/sec", instance));
net2.Add(new PerformanceCounter("Network Interface", "Bytes Sent/sec", instance));
}
}

//Once in 1 second
void UpdateStats()
{
Status.Text = "";
for (int i = 0; i < net1.Count; i++)
Status.Text += string.Format("{0}/{1} Kb/sec; ", net1[i].NextValue() / 1024, net2[i].NextValue() / 1024);
}

在某些计算机上,程序在第一次调用 UpdateStats() 时完全挂起,其他计算机上的 CPU 负载为 100%,但程序运行(缓慢)。其他计数器,如 new PerformanceCounter("Processor", "% Processor Time", "_Total") 似乎工作正常。

有什么建议吗?

最佳答案

删除打印机引用有助于消除初始时的挂起

  new PerformanceCounter("Processor", "% Processor Time", "_Total").  

现在我们得到一条新的错误消息而不是挂起,因此可以跟踪它。来自:

Answer about printer drivers

我们有两台类似的戴尔笔记本电脑(一台较新),都装有 Windows 8、MVSV 2013 和 IIS Express 8。一台会挂起,一台不会。

关于c# - PerformanceCounter.NextValue 在某些机器上挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2868068/

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