【发布时间】:2015-03-17 05:57:09
【问题描述】:
我正在开展一个需要监控正在使用的 CPU 百分比的项目。它必须同时在 Mac 和 Windows 上,所以我使用 Mono 和 Xamarin。
我用来得到这个的代码是(这是一个测试,但计数器是一样的):
var cpuCounter = new PerformanceCounter
{
CategoryName = "Processor",
CounterName = "% Processor Time",
InstanceName = "_Total"
};
cpuCounter.NextValue ();
Thread.Sleep (1000);
for (var i = 0; i < 50; i++) {
Console.WriteLine (cpuCounter.NextValue());
Thread.Sleep (1000);
}
在电脑上,这会返回任务管理器显示的内容。在 Mac 上,即使活动监视器显示不同,这也会在每个刻度上返回 100。
我试过谷歌搜索,但似乎没有任何效果。
想法?
【问题讨论】:
-
我们遇到了类似的问题。我们必须在目标 C 中运行代码才能完成。您可以在此处查看详细信息 -> stackoverflow.com/questions/11460184/…
-
这篇文章对理解cpus是如何工作的很有帮助,但是你有什么关于你是如何在objective c中实现它的指针吗?我试图自己实现一个目标 c 计数器,但没有成功。
-
我的回答对你有用吗?我已经在我的答案中添加了代码。
标签: c# macos mono performancecounter