C# .net内核中的CPU使用率(至少在Windows上)

C# .net内核中的CPU使用率(至少在Windows上),c#,.net,.net-core,.net-standard,C#,.net,.net Core,.net Standard,因此,PerformanceCounter在dotnetcore中消失了。我理解这是因为它与Linux不兼容 这里的评论:()似乎表明,如果我愿意只在Windows上运行它,我可以“利用Windows特有的功能”,但我不知道如何将其集成到dotnet core中 我之所以愿意这样做,是为了保留dotnet核心代码库,这样一旦有了跨平台的PerformanceCounter解决方案,我就不必迁移 总结一下我的问题:在Windows上运行时,如何在dotnet core中运行CPU使用率 我发现的

因此,
PerformanceCounter
在dotnetcore中消失了。我理解这是因为它与Linux不兼容

这里的评论:()似乎表明,如果我愿意只在Windows上运行它,我可以“利用Windows特有的功能”,但我不知道如何将其集成到dotnet core中

我之所以愿意这样做,是为了保留dotnet核心代码库,这样一旦有了跨平台的
PerformanceCounter
解决方案,我就不必迁移

总结一下我的问题:在Windows上运行时,如何在dotnet core中运行CPU使用率


我发现的其他相关帖子:

  • 似乎暗示
    Process.GetCurrentProcess()
    就足够了,我不太理解(
    PerformanceCounter
    提供了机器的全部CPU使用率)

  • 在所有流程中循环(as?)是不可行的(它会引发一些流程的异常),而且它看起来也很慢,这对于我的用例来说是一个问题


从.NET Core 3.0开始,性能计数器API再次成为BCL的一部分,并支持Linux:


我们已经将性能计数器从4.7移植到了dotnet标准,并且我们也开始了linux版本(在一个分支中)。。。它适用于我们的用例(目前主要是Windows)--@ScottPerham这太棒了!非常感谢,这将非常有用。是否有任何理由不使用官方的Microsoft.Windows.Compatibility软件包?存在异常:PlatformNotSupportedException:此平台不支持性能计数器。如果使用.NET core 3.1中的PerformanceCounter类