Как я могу контролировать использование процессора одним процессом в течение определенного периода времени?

8

Я хочу знать, какова средняя загрузка ЦП конкретного исполняемого файла на моем ПК в течение дня.

Я мог бы написать приложение для C #, но я подумал, что это именно то приложение, о котором Superuser узнает, если оно существует!

Я использую 64-битную Windows 7, на случай, если это имеет значение!

Спасибо!

Джош Комли
источник

Ответы:

9

Перейти к монитору производительности. Щелкните правой кнопкой мыши на графике и выберите «Добавить счетчики».

В списке «Доступные счетчики» откройте раздел «Процесс», нажав стрелку вниз рядом с ним. Выберите «% Processor Time» (и любой другой желаемый счетчик).

В списке «Экземпляры выбранного объекта» выберите процесс, который вы хотите отслеживать. Затем нажмите «Добавить >>». Нажмите ОК, когда у вас есть то, что вам нужно.

Это даст график использования процессора для выбранного приложения.

Снарк
источник
4

Другое приложение, которое должен использовать любой Superuser, - Process Explorer .

См. В техническом блоге Марка Руссиновича статью «Процесс всплесков ЦП системного процесса» , где он отслеживал всплеск ЦП, вызванный его сетевым драйвером.

harrymc
источник
Я использую Process Explorer, но я не уверен, как записать использование процессора с ним!
Джош Комли
@joshcomley: прочитайте статью выше. Вкратце: просто дважды щелкните по процессу и изучите доступные вкладки.
harrymc
0

следующая команда получает среднее значение использования процессора и памяти каждые 50 секунд для определенного процесса (pid)

pidstat 50 -ru -p <pid>

вывод для моего случая (две строки для использования процессора, вторые две строки для памяти):

02:17:47 PM       PID    %usr %system  %guest    %CPU   CPU  Command
02:18:27 PM     24563    0.38    0.07    0.00    0.45     3  java

02:17:47 PM       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
02:18:27 PM     24563     11.68      0.00 13047972 2123268   6.52  java
Челик
источник