Сравнение времени работы в режима ядра и в пользовательском режиме
Чтобы посмотреть, сколько времени ваша система работает в режиме
ядра по сравнению с работой в пользовательском режиме, можно
воспользоваться Системным монитором (Performance Monitor).
Выполните следующие действия:
Запустите Системный монитор (Performance Monitor), открыв меню Пуск
(Start) и выбрав пункты Панель управления - Администрирование -Системный
монитор (AllPrograms - AdministrativeTools– Performance Monitor). На
расположенном слева древовидном раскрывающемся списке инструментов
Производительность (Performance) выберите пункты Средства наблюдения
(Monitoring Tools) - Системный монитор (Performance Monitor).
Щелкните на кнопке добавления (+), которая находится на панели инструментов.
Раскройте раздел счетчиков Процессор (Processor), щелкните на пункте
% работы в привилегированном режиме (% Privileged Time counter) и,
удерживая в нажатом состоянии клавишу Ctrl, щелкните на пункте % работы в
пользовательском режиме (% User Time).
Щелкните на кнопке "Добавить (Add)", а затем на кнопке OK.
Откройте окно командной строки и проведите непосредственное
сканирование своего диска C по сети, набрав команду
dir\\%computername%\c$/s.
6. По окончании работы закройте окно инструментального средства.
Такую же картину можно быстро просмотреть с помощью Диспетчера задач
(Task Manager). Щелкните на вкладке Производительность (Performance), а
затем выберите в меню Вид (View) пункт Вывод времени ядра (Show Kernel
Times). На графике загруженности центрального процессора зеленым цветом
будет показана его общая загруженность, а красным — загруженность в
режиме ядра.
Чтобы увидеть, сколько времени в режиме ядра и в пользовательском
режиме использует сам Системный монитор (Performance Monitor), запустите
его еще раз, но при этом добавьте отдельные счетчики процесса % работы в
пользовательском режиме (% User Time) и % работы в привилегированном
режиме (% Privileged Time) для каждого процесса в системе:
Если Системный монитор (Performance Monitor) не запущен, запустите
его снова. (Если он уже запущен, начните работу с пустого отображения,
щелкнув в области графиков правой кнопкой мыши и выбрав пункт "Удалить
все счетчики" (Remove All Counters.)
Щелкните на кнопке добавления (+), которая находится на панели инструментов.
В доступной области счетчиков раскройте раздел Процесс (Process).
Выберите счетчики % работы в пользовательском режиме (% User Time) и % работы в привилегированном режиме (% Privileged Time).
Выберите несколько процессов в области Экземпляры выбранного объекта (Instance) (например, mmc, csrss и Idle).
Щелкните на кнопке "Добавить" (Add), а затем на кнопке OK.
Интенсивно подвигайте мышью в разные стороны.
Выберите на панели инструментов пункт "Выделить" (Highlight) или
нажмите сочетание клавиш Ctrl+H, чтобы включить режим выделения. Текущий
выбранный счетчик будет выделен черным цветом.
Прокрутите список счетчиков вниз для определения процессов, чьи
потоки были запущены при перемещении указателя мыши, и обратите внимание
на то, в каком режиме они были запущены, в пользовательском или в
режиме ядра.
Вы должны увидеть (найдя в столбце Экземпляр (Instance) процесс mmc),
что график времени выполнения процесса, принадлежащего Системному
монитору, в режиме ядра и в пользовательском режиме при перемещении мыши
пошел вверх, поскольку в нем выполняется прикладной код в
пользовательском режиме, и вызываются Windows-функции, запускаемые в
режиме ядра. Обратите также внимание на активность потока,
принадлежащего процессу csrss и выполняемого в режиме ядра при
перемещении мыши.
Эта активность возникает благодаря тому, что этому процессу
принадлежит исходный поток ввода той подсистемы Windows, выполняемой в
режиме ядра, которая обрабатывает ввод с клавиатуры и с мыши. И наконец,
процесс Idle, который, как можно заметить, тратит почти 100 % своего
времени на работу в режиме ядра, на самом деле процессом не является,
это ложный процесс, используемый для подсчета холостых циклов
центрального процессора.
Судя по режиму, в котором запускаются потоки процесса Idle, когда
Windows нечего делать, процесс ожидания происходит в режиме ядра.