如何在没有PerformanceCounter的情况下获得可用内存和CPU使用率?

时间:2012-06-18 12:08:30

标签: c# .net performancecounter

我的Windows XP没有提供分类处理器或内存,我无法将其显示出来 (我不允许编辑注册表,也不允许更改系统文件)

有没有办法在不使用PerformanceCounter的情况下获得实际的CPU使用率和可用内存?

我在Windows XP SP2上使用.NET 3.5C#

3 个答案:

答案 0 :(得分:2)

要使用WMI获取没有性能计数器的处理器使用情况,请查看win32_Processor类。如果您想查看可用的总内存,请使用GC.GetTotalMemory - Process.GetCurrentProcess().PrivateMemorySize64;

答案 1 :(得分:1)

您是否可以使用原生win32 API调用?如果是这样,那么他们会提供您之后的信息。

请参阅以下文章:CodeProject: Calling API functions using C#

答案 2 :(得分:0)

如果您使用的是.net 4而您只对目前的应用域名正在做什么感兴趣,那么您可以使用此功能:

this.AppDomain.MonitoringTotalProcessorTime

请参阅MSDN Documentation MonitoringTotalProcessorTime