В Windows 7 есть способ узнать, сколько памяти использует служба?

9

В Windows 7 есть ли способ (с помощью общего интерфейса или пользовательской утилиты) узнать, сколько памяти использует конкретная служба Windows?

Кажется, что большинство служб размещаются в svchost.exeпроцессах (некоторые процессы svchosts.exe, кажется, содержат множество служб). Несмотря на то, что можно узнать, какие службы размещены в конкретном процессе, я не нашел способа получить информацию о том, сколько памяти занимает служба.

tigrou
источник
2
Посмотрите на проводник процессов, он идентифицирует вложенные процессы и дает хорошую общую картину того, что происходит в системе. technet.microsoft.com/en-us/sysinternals/bb896653.aspx
jmreicha
Вы можете увидеть скрипт для проверки памяти отдельных сервисов в этом ответе SO .
Росберг Линхарес

Ответы:

13

Взгляните на Process Explorer из набора инструментов SysInternals. Сортируйте processстолбец по имени и найдите svchost. Затем вы можете увидеть в поле описания (иногда) фактическую службу, которая работает. Private BytesКолонка покажет вам , сколько , что данный сервис использует в памяти. введите описание изображения здесь

PenguinCoder
источник
есть ли причина, по которой я должен смотреть в «частных байтах» вместо «рабочего набора» (или «виртуального размера»)?
Tigrou
1
@tigrou Рабочий набор - это недавно использованная память, вы увидите, что его обычно меньше, чем Private Bytes. Частные байты - это текущая выделенная память процесса, которая не используется другими процессами. Смотрите этот вопрос StackOverflow .
PenguinCoder
2
Суть вопроса заключалась в том, чтобы определить статистику памяти для отдельных сервисов, совместно использующих один хост-процесс svchost. Этот ответ не касается этого вообще.
kreemoweet
@kreemoweet Вы не смотрели на скриншот? scvhost.exe разбит на сервис, использующий его во многих местах.
PenguinCoder
1
Как отмечает @kreemoweet, это не отвечает на поставленный вопрос, когда несколько служб используют один и тот же процесс. Ответ на этот вопрос доступен по адресу Ошибка сервера: вы можете настроить каждый сервис на использование своего собственного процесса .
Кристиан Конкл
6

Используя диспетчер задач ( Ctrl+ Shift+ Escape), вы можете щелкнуть правой кнопкой мыши по svchostпроцессу и выбрать, Go to service(s)и он выделит службы, размещенные в этом процессе.

В качестве альтернативы, выбрав столбец PID на вкладке процесса, вы можете сопоставить PID на вкладке служб.

jdog
источник
1

Вы также можете использовать сборку в диспетчере задач Windows и перейти в меню «Просмотр»> «Выбрать столбцы» и выбрать те, которые говорят «Память», их должно быть около семи, и все они дают вам разные представления о том, что на самом деле делает программа в данный момент.

gabeio
источник
-1

Также есть монитор ресурсов. Это ново для Windows 7 и 2k8r2. Это как менеджер задач по стероидам. Не уверен, почему никто не использует это. На самом деле, с этим легче справиться, чем с проводником процессов. Открыв диспетчер задач, просто нажмите кнопку «Монитор ресурсов» на вкладке производительности.

Rich.Weber
источник
1
Какую информацию это дает? Как насчет скриншота? Не могли бы вы также написать 2008 R2 вместо инициалов, особенно если это только 2 дополнительных символа? Этот ответ очень низкого качества. Пожалуйста, измените, чтобы улучшить его.
канадец Люк