我正在寻找使用 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 APIs 的组合来计算和 GetThreadTimes
,但它非常繁重,计算它的过程本身就使用了大量的 CPU。一般来说,获取 CPU 使用率不值得花费代码或获取它所需的执行时间。
关于c# - 在 C# 中的 WinCE 上获取设备的 CPU 使用率和空闲 RAM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1609996/