Измерение Потребления ЦП

Более старые версии Windows смогли отследить только приближение фактического использования ЦП.

В сгенерированном часами прерывании, у которого на большинстве систем есть период 15.6 миллисекунд (мс), Windows идентифицирует поток, в настоящий момент выполняющийся на каждом ЦП. Если поток выполняется в режиме ядра, его время режима ядра постепенно увеличивается на 15.6 мс; иначе, его время пользовательского режима постепенно увеличивается тем количеством. Поток, возможно, выполнялся только для нескольких циклов ЦП, когда запущенное прерывание, но поток взимается за весь интервал на 15.6 мс. Тем временем сотни других потоков, возможно, выполнились во время того интервала, но только поток, в настоящий момент рабочий в такте системных часов, заряжается. Диспетчер задач Windows использует эти приближения, чтобы сообщить об использовании ЦП даже относительно более новых версий Windows, которые имеют более точные метрики в наличии. Диспетчер задач далее уменьшает свою точность, округляясь к самому близкому целочисленному проценту так процессы с выполнением потоков, которые используют меньше чем 1 процент времени ЦП, неотличимы от процессов, которые не выполняются вообще. Наконец, Диспетчер задач не учитывает время ЦП, проведенное, обслуживая прерывания или отложенные вызовы процедуры (DPC), неправильно включая то время с Системой Неактивный Процесс.

 

Procexp представляет использование ЦП более точно, чем делает Диспетчер задач. Во-первых, Просексп показывает проценты использования ЦП на процесс, округленные разрешению двух десятичных разрядов по умолчанию вместо к целому числу. Во-вторых, Procexp отслеживает время, проведенное, обслуживая прерывания и DPC, и выводит на экран их отдельно от Неактивного процесса. Наконец, Просексп использует ­дополнительные системные метрики так, чтобы процессы, использующие небольшие количества ЦП, могли быть идентифицированы и, когда возможный, обеспечить более точный отчет фактического потребления ЦП. Различные метрики доступны на Windows XP, Windows Vista, и Windows 7 и их ­соответствующих версиях сервера. Procexp использует в своих интересах то, что доступно, чтобы сообщить о самых точных возможных мерах.

На всех поддерживаемых версиях Windows каждый поток отслеживает свои переключатели контекста — число раз, что контекст ЦП был переключен, чтобы начать выполнять поток. Если Вы выводите на экран столбец Context Switch Delta, Procexp отслеживает и сообщает изменения в этих числах, таким образом, можно видеть процессы, которые используют даже небольшие количества ЦП. Они часто включают процессы, которые периодически просыпаются, чтобы искать изменения состояния вместо того, чтобы использовать систему - механизмы синхронизации, которые позволили бы процессу не выполняться, пока фактическое изменение состояния не происходит. Такие процессы используют больше питания чем необходимый и также требуют, чтобы их код и данные были пронумерованы страницы в набор работы и поэтому заняли RAM. С этим столбцом, включенным на Windows XP или Windows Vista, Просексп сообщает" <0.01" в столбце ЦП, если у процесса были какие-либо переключатели контекста в интервале обновления, но недостаточном использовании ЦП, чтобы сообщить о 0.01 %.

Переключатель контекста указывает, что поток выполнился, но не, сколько времени это выполнилось. В дополнение к переключателям контекста Windows Vista и более новой мере фактические циклы ЦП режима ядра и пользовательского режима используются каждым потоком. Если Вы включаете дисплею столбца Cycles Delta ЦП, Procexp отслеживает и сообщает те изменения. С этим столбцом, включенным на Windows Vista, Procexp может сообщить" <0.01" для процессов, использующих небольшие количества ЦП. Как с Дельтой Переключателя Контекста, Дельта Циклов ЦП может помочь идентифицировать процессы, которые тратят впустую ресурсы.

На Windows Vista Procexp может измерить переключатели контекста для прерываний и DPC, но не соответствующих циклов ЦП. На Windows 7 Procexp может точно приписать все циклы ЦП, включая тех для прерываний и DPC. Так на Windows 7 вместо того, чтобы использовать неточный основанный на таймере учет Windows, Просексп сообщает о процентах использования ЦП, основанных на фактических использованных циклах ЦП. Процессы, использующие небольшие количества ЦП, сообщают" <0.01" без Вас имеющий необходимость включить дополнительным столбцам для дисплея. Вычисление Просекспом использования ЦП намного более точно чем Диспетчер задач с возможно удивительным эффектом, что использование ЦП, о котором это сообщает, обычно выше.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: