Відповіді:
Після перегляду документації (на основі інших відповідей тут) це процес, який я закінчив:
Захоплення журналу проблеми ETW
Найпростіший спосіб зробити це за допомогою Windows Recorder Recorder . Я не впевнений, коли він з'явився вперше, але, здається, він вбудований в останні версії Windows. Встановіть профіль на CPU usage
.
або, використовуючи підвищений командний рядок, перейдіть до папки, яка містить його, та використовуйте інструмент командного рядка xperf:
xperf -on base+interrupt+dpc
Зауважте, вам потрібно буде закрити Process Monitor або будь-який інший додаток, який використовує ETW, або ви отримаєте таку помилку: xperf: error: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7).
Зупинити відстеження / збереження журналу
xperf -d interrupt_trace.etl
Відкрийте трасування в Windows Performance Analyzer
(частина Windows Performance Toolkit); деякі місця згадують використання xperfview
замість цього.
Розгорніть Computation
-> CPU Usage (Sampled)
-> DPC and ISR Usage by Module, Stack
, клацніть правою кнопкою миші таadd graph to analysis view
Це вказувало право на питання, про який йде мова. У цьому випадку HDAudBus.sys використовує постійні 10,82% мого процесора через переривання, саме це і показувало мені Process Explorer.
Якщо ви можете працювати з системними інструментами низького рівня;
Аналізатор продуктивності Windows (WPA)
Windows Performance Analyzer (WPA) - це набір інструментів моніторингу продуктивності, які використовуються для створення поглиблених профілів продуктивності операційних систем та додатків Microsoft Windows.
Після того, як ви дізнаєтеся, як використовувати xperf; перевіряти;
Дія DPC / ISR створює текстовий звіт, який підсумовує різні показники щодо DPC та ISR. Використання для цієї дії:
Копіювати код -a dpcisr [-dpc -isr -summary -interval [n] -bucket [n] -range T1 T2]
Варіант
Опис
dpc
Показати статистику лише для DPC
іср
Показати статистику лише для ISR
резюме
Показати підсумковий звіт
інтервал [дт]
Показати звіт про використання інтервалів dt, за замовчуванням - 1 секунда
відро [дт]
Показати гістограму для інтервалів dt, за замовчуванням - 2 секунди
діапазон T1 T2
Показати затримки між T1 і T2
If no data type is specified, default is to show report for both DPC
та ISR. Якщо тип звіту не вказаний, за замовчуванням слід надрукувати всі три види звіту.
Ось найкраща стаття, яку я знайшов, як це зробити, із підручниками, скріншотами та посиланнями на завантаження відповідних інструментів:
http://www.msfn.org/board/topic/140263-how-to-get-the- why-of-high-cpu-usage-by-dpc-interrupt/
Погляньте на провідник Windows Process:
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
Це повинно допомогти.
Два чудових інструменти - LatencyMon і DPC Latency Checker .