Получение загрузки процессора устройства и свободной оперативной памяти на WinCE в C#
Я ищу альтернативные способы получения общего процента загрузки процессора и объема свободной оперативной памяти на устройстве в C#.
Здесь описано чрезвычайно простое решение: http://zamov.online.fr/EXHTML/CSharp/CSharp_927308.html
Однако класс PerformanceCounter не включен в .NET Compact Framework 3.5.
Есть ли другие способы?
Спасибо :)
2 ответов:
Свободная оперативная память довольно проста - хотя у вас есть как физическая, так и виртуальная, чтобы бороться с - и оба важны. Вы P / вызываете GlobalMemoryStatus для этого (как обычно SDF уже обернул его в более дружественную объектную модель).
Использование процессора-это совсем другое животное. На ПК у вас есть хороший регистр процессора, который дает вам легкий и дешевый доступ к использованию процессора. На руке (которая находится в вашем устройстве WinMo) у вас этого нет. Его можно вычислить используя смесь API Toolhelp и
GetThreadTimes, но это очень тяжелая рука, и процесс вычисления использует много процессора сам по себе. Вообще говоря, получение загрузки процессора не стоит затрат кода или времени выполнения, необходимого для его получения.
Вам нужно суммировать время процесса потока для процессов, а затем вы получите список процессов и время их выполнения в течение периода времени: http://www.hjgode.de/wp/2012/12/14/mobile-development-a-remote-cpu-monitor-and-cpu-usage-analysis/
Comments