Назад | Перейти на главную страницу

Как отслеживать загрузку ЦП для оконных служб?

Я использую диспетчер задач Windows для отслеживания загрузки ЦП. Я заметил, что мои приложения указаны в списке, а службы Windows - нет.

Например, общая загрузка ЦП составляет 70%, но сводка по перечисленным приложениям составляет только около 30%. Я предполагаю, что разница заключается в службах, которые не указаны на вкладке «Процессы» в диспетчере задач Windows.

Вот как получить подробную информацию о службе без каких-либо внешних инструментов в Windows 7 и 8:

Откройте монитор ресурсов:

  • Откройте диспетчер задач и перейдите на вкладку «Производительность».
  • Нажмите "Открыть монитор ресурсов" внизу.

Показать детали обслуживания:

  • Щелкните вкладку «ЦП»
  • В разделе «Процессы» найдите нужный процесс; вы можете отсортировать по ЦП, щелкнув заголовок столбца "ЦП"
    • Установите флажок рядом с ним
  • Разверните раздел «Услуги» ниже; вы увидите, какая конкретная служба использует процессор

Мне пришлось это понять, потому что svchost потреблял много ресурсов, и это был единственный способ увидеть, что виновником был upnphost.

Наверное, лучший инструмент - Process Explorer от Sysinternals. Вы можете получить этот инструмент и многие другие Вот.

Редактировать: Чтобы увидеть, какие службы работают в svchost, а не как отдельный процесс, вам нужно добавить столбец «Командная строка» в правое окно. К сожалению, это не покажет вам службы, которые работают вместе. Чтобы увидеть эту информацию в Process Explorer, вам нужно навести указатель мыши на конкретный экземпляр svchost, о котором идет речь. Информация появится во всплывающем окне.

Многие службы выполняются внутри экземпляра универсального хост-процесса svchost.exe. Вы можете использовать список задач / svc в командной строке, чтобы получить перечисление служб, работающих внутри каждого экземпляра svchost.exe вместе с другими процессами.

Вы также можете щелкнуть правой кнопкой мыши процесс svchost.exe в диспетчере задач и выбрать «Перейти к службам», и диспетчер задач переключится на вкладку служб и выделит соответствующие службы.

С участием обозреватель процессов sysinternals, вы можете навести указатель мыши на файл servicehost.exe и увидеть всплывающую подсказку с размещенными в нем службами.

Ни один из них не скажет вам, какая часть процессорного времени процесса службы хоста посвящена определенной службе-члену, размещенной внутри.

Попробуйте бесплатный расширенный диспетчер задач Extensoft

http://www.extensoft.com/?p=downloads

Перейти к Сервисы вкладка и щелкните правой кнопкой мыши запущенную службу, затем щелкните Перейти к процессу.

Вы вернетесь на вкладку «Процессы» и выделите, какой процесс используется этой службой.

У меня это сработало в стандартном диспетчере задач, доступном в Windows 7 Ultimate:

  1. Откройте диспетчер задач.
  2. Щелкните вкладку [Процессы].
  3. Нажмите кнопку [Показать процессы от всех пользователей].
  4. Щелкните правой кнопкой мыши в svchost.exe что вызывает у вас проблемы (память, процессор и т. д.)
  5. В раскрывающемся меню выберите [Перейти к службам].

Вы перейдете на вкладку [Услуги] с 1 или более выделил сопутствующие услуги. Обратите внимание, что сингл svchost.exe может относиться к ряду услуг на вкладке [Услуги].

Вы должны открыть диспетчер задач от имени администратора. Нажмите кнопку «Показать процессы от всех пользователей».

Но, как сказал Брайан Рейтер, многие службы размещаются внутри одного процесса. Чтобы понять, какая служба потребляет ваш процессор, вы можете попробовать мой Раскрытие информации об услугах инструмент. Это позволяет вам разделить услуги на отдельный процесс. Вы сможете увидеть, какая служба использует ресурсы. После расследования вы можете вернуть все услуги обратно.