Загрузка CPU через PowerShell

Автор: | 6 апреля, 2012

Продолжаем разговор про PowerShell

Наверное это самая распространенная команда на PowerShell

Результатом будет:

Как мы видим, она показывает список процессов в системе, но вот досада, она не показывает загрузку CPU в %  каждого процесса, вместо этого она показывает  CPU(s). Что же это такое? Давай те разбираться.

Дело в том, что  CPU(s) — это время в сек. которое потратил процессор на выполнения процесса, т.е. в моем случае процесс  7zFM всего потратил 0,45 сек. на все свою работу. Но как это можно превратить в % ? Да очень просто: надо сделать 2 замера, посчитать разницу во времени между замерами и так же посчитать разницу потраченного  времени данным процессом. Давай те рассмотрим код:

В результате мы получим загрузку в %. При небольшом изменении кода можно получить загрузку по всем процессам.