Как я могу устранить проблемы с большим временем ядра?

Ответы:

13

Определенный инструмент для точного определения времени использования ядра - kernrate.exe. Поставляется с Windows SDK / WDK Visual Studio и т. Д.

Также Xperf может выполнять те же опросы / трассировку ядра ... и, вероятно, намного проще в использовании. Kernrate был своего рода зверь.

Райан Райс
источник
11

Это, вероятно, проще, чем вы думаете. Если у вас стабильное и интенсивное использование системы, Process Explorer предоставляет вкладку Threads, которую можно использовать для процесса System (идентификатор процесса: 4). Нарушающий модуль и функция должны отображаться.

введите описание изображения здесь

Если вам нужен формальный инструмент для сбора эмпирических данных для анализа проблемы, вы можете использовать Windows Performance Recorder / Windows Performance Analyzer, часть Windows Performance Toolkit.

https://blogs.technet.com/b/yongrhee/archive/2012/11/23/installing-the-windows-performance-toolkit-v5-0-wprui-wpr-xperf.aspx

https://blogs.technet.com/b/yongrhee/archive/2012/11/23/wpr-xperf-capture-high-cpu-disk-io-file-registry-networking-private-bytes-virtual-bytes- выгружаемый бассейн-неподкачиваемый бассейн-и-или-приложения slowness.aspx

Грег Аскью
источник
2
Это может быть легкой победой, но часто настоящий преступник прячется за общими рабочими потоками, и в этом случае это мало что скажет. Даже Руссинович прибегает к Кернрате в своем блоге здесь: blogs.technet.com/b/markrussinovich/archive/2008/04/07/…
Райан Райс
6

У меня была проблема с высоким временем работы ядра, потребляющим 50% ЦП, в то время как остальные процессы составляли оставшиеся 40%. Проблема была вызвана неправильным отключением и удалением Trend AV.

Хотя службы были остановлены, а сканирование в режиме реального времени отключено, мини-фильтры ядра оказались включены. Я пришел к выводу, что они потребляли время ядра после того, как я правильно удалил программное обеспечение, и заметил, что время ядра сократилось до 1/10 от предыдущей загрузки.

Чтобы просмотреть список фильтров в вашей системе, введите

C:\Users\TEMP>fltmc filters
Filter Name                     Num Instances    Altitude    Frame
------------------------------  -------------  ------------  -----
TmPreFilter                             3       328500         0
luafv                                   1       135000         0

У Microsoft есть список сторонних фильтров, доступных здесь . Согласно этой таблице, TmPreFilter - это Trend Micro, AV-сканер.

goodguys_activate
источник
5
Ой, я действительно разочарован этим ответом. После сборки я ожидал красивого описания того, как решить проблему с большим временем в ядре. Вместо этого вы пропускаете все интересные моменты (как) и представляете нам тот, который вы сделали ранее :( Какие шаги вы предприняли, чтобы прийти к такому выводу без них, вы на самом деле не отвечаете на поставленный вопрос.
user9517
@ Айн Хаха, спасибо. Моя цель состояла в том, чтобы поделиться информацией, которую я знал, в формате гибридного блога-вики SE (у меня нет блога или я не знаю подходящей вики). Я действительно не знаю, как решить проблему с временем ядра, но обнаружил что-то, что сработало, и хотел поделиться им. Я определенно могу ответить на вопросы, касающиеся электронной почты, безопасности и некоторых разработок. Это частичный ответ
goodguys_activate
3
Ответ Geat, я не знал о fltmc.
Jftuga
-1

Присмотритесь к Process Monitor и DiskMon (Microsoft SysInternals), чтобы увидеть, что делает машина. Помимо распространенных драйверов устройств, одним из основных виновников является старый добрый пейджинг.

Саймон Кэтлин
источник