У меня необычно высокое время ядра на моих процессорах, как показано в диспетчере задач.
Как я могу решить эту проблему?
Отличным инструментом для точного определения того, что использует время ядра, является kernrate.exe. Он поставляется с Windows SDK / WDK Visual Studio и т. Д.
Также Xperf может выполнять тот же опрос / трассировку ядра ... и, вероятно, его намного проще использовать. Кернрат был чем-то вроде зверя.
Это, наверное, проще, чем вы думаете. Если ваша система постоянно используется, Process Explorer предоставляет вкладку Threads, которую вы можете использовать для процесса System (идентификатор процесса: 4). Должны быть отображены вызывающий нарушение модуль и функция.
Если вам нужен формальный инструмент для сбора эмпирических данных для анализа проблемы, вы можете использовать Windows Performance Recorder / Windows Performance Analyzer, часть набора инструментов Windows Performance.
У меня самого была проблема с большим временем ядра, потребляющим 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.
Попробуйте использовать Process Monitor и DiskMon (Microsoft SysInternals), чтобы увидеть, что делает машина. Один из распространенных виновников, помимо хитрых драйверов устройств, - это старая добрая подкачка.