Отримання статистики процесора на одну нитку


10

Як отримати поточне використання процесора для кожного потоку в конкретній програмі? Чи можливо отримати цю інформацію звідкись чи за допомогою якогось інструмента?

Відповіді:


8

Для швидкої відповіді використовуйте Провідник процесів SysInternal . Двічі клацніть на процесі, щоб відкрити діалог деталей. на вкладці потоки подається список сортування всіх потоків, включаючи дельту контекстного комутатора та час процесора.


Раніше я використовував Process Explorer, але не бачив стовпця процесора там, оскільки він був занадто вузьким, і лише заголовком стовпця була видна стрілка сортування.
dabest1

7

Perfmon (Монітор ефективності) повинен дати вам потрібні деталі.

Далі передбачається Windows 2000, XP або Server 2003. Я не перевіряв, але, думаю, монітор продуктивності трохи відрізняється у Vista, Windows 7 та Server 2008.

Щоб запустити Монітор ефективності, перейдіть до Пуск> Панель управління> Адміністративні інструменти> Продуктивність

Щоб додати графік для кожного потоку програми, клацніть правою кнопкою миші на графіку та виберіть Властивості. Можливо, ви захочете видалити будь-які з типових налаштувань, щоб отримати чистіший графік.

Натисніть кнопку "Додати ..." і переконайтесь, що "Використовувати локальні лічильники комп'ютера" встановлено прапорець (якщо ви не хочете відслідковувати інший сервер. У такому випадку продовжуйте та вибирайте цей варіант).

У розділі "Об'єкт продуктивності" виберіть "Нитка"

Виберіть лічильник "% процесорного часу", а потім виберіть усі потоки, які ви хочете відстежувати (натисніть клавішу + клацніть, щоб вибрати кілька). Клацніть «Додати», а потім «Закрити».

Повернувшись до властивостей, ви можете налаштувати графік за будь-яким бажанням, призначивши кольори, візерунки тощо. Клацніть OK.

Можливо, вам потрібно буде почати графік, якщо натиснути червоний знак STOP, щоб його не було включено, графік запуститься.


Поставив +1, за винятком коментаря WMI на початку, оскільки це не має нічого спільного з рештою публікації. Згадане вище працює досить добре для Vista та 2008 року. Нарешті, ви також можете запустити Perfmon, запустивши perfmon.msc
DougN

Фу, вибачте, я змішав свої умови. Я мав на увазі сказати парфмон. Я зараз це виправлю.
Марк Хендерсон

1

Монітор процесів (sysinternals)

Я думаю, що ProcessMonitor від Sysinternals (нещодавно придбаний Microsoft), ймовірно, спрацює.

Process Monitor - це вдосконалений інструмент моніторингу для Windows, який показує файлову систему в режимі реального часу, реєстр та активність процесів / потоків. Він поєднує в собі функції двох застарілих утиліт Sysinternals, Filemon і Regmon, і додає широкий список удосконалень, включаючи багату і неруйнівну фільтрацію, комплексні властивості подій, такі як ідентифікатори сеансу та імена користувачів, надійну інформацію про процес, повні стеки потоків з інтегрованою підтримкою символів для кожної операції, одночасного входу у файл та багато іншого. Завдяки унікальним потужним можливостям процес Monitor Monitor стане основною утилітою у вашій системі усунення несправностей та набору інструментів пошуку зловмисних програм.

Ось посилання:

http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx


Дякуємо за вашу пропозицію. Ваша відповідь правильна, але те, що допомогло мені знайти використання процесора на потік у Process Explorer, - це відповідь, яку я вибрав Річард.
dabest1

0

ви можете використовувати вбудований монітор продуктивності Windows, просто введіть perfmon на початку, запустіть. раз на парфмоні клацніть знак плюс, виберіть процес, ви вибираєте процес, а потім виберіть те, що ви хочете бачити. повернутися до основ!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.