在C#中获取WinCE上的设备CPU利用率和空闲RAM
我正在寻找替代方法来获取C#中设备上的总CPU利用率百分比和可用RAM量。
这里描述了一个非常简单的解决方案:http: //zamov.online.fr/EXHTML/CSharp/CSharp_927308.html
但是,PerformanceCounter类不包含在.NET Compact Framework 3.5中。
还有其他方法吗?
谢谢 :)
免费RAM非常简单 – 尽管您同时拥有物理和虚拟资源 – 两者都很重要。 你P / Invoke GlobalMemoryStatus (像往常一样,SDF已经将它包装在一个更友好的对象模型中)。
CPU使用情况完全不同。 在PC上,您有一个很好的处理器寄存器,可以轻松,便宜地访问CPU使用情况。 在ARM上(这是你的WinMo设备中的内容)你没有那个。 它可以使用Toolhelp API和GetThreadTimes
的混合计算,但它非常繁重,计算它的过程本身就使用了大量的CPU。 一般来说,获取CPU使用率不值得花费代码或获取它所需的执行时间。
您需要为流程总结线程处理时间,然后获得流程列表以及它们在一段时间内运行的时间: http : //www.hjgode.de/wp/2012/12/14/mobile-development-a -remote-CPU监视器和CPU的使用率分析/