Czy w systemie Windows 7 można sprawdzić, ile pamięci zajmuje usługa?

9

Czy w Windows 7 jest sposób (za pomocą wspólnego interfejsu lub niestandardowego narzędzia) wiedzieć, ile pamięci zużywa określona usługa systemu Windows?

Wygląda na to, że większość usług jest hostowana przez svchost.exeprocesy (niektóre procesy svchosts.exe wydają się hostować mnóstwo usług). Chociaż można wiedzieć, które usługi są hostowane przez określony proces, nie znalazłem sposobu, aby uzyskać informacje o tym, ile pamięci zajmuje usługa.

tigrou
źródło
2
Spójrz na eksplorator procesów, identyfikuje zagnieżdżone procesy i daje dobry ogólny obraz tego, co dzieje się w systemie. technet.microsoft.com/en-us/sysinternals/bb896653.aspx
jmreicha
Możesz zobaczyć skrypt sprawdzający pamięć poszczególnych usług w tej odpowiedzi SO .
Rosberg Linhares

Odpowiedzi:

13

Spójrz na Process Explorer z pakietu narzędzi SysInternals. Posortuj processkolumnę według nazwy i znajdź svchost. Następnie w polu opisu (czasami) można zobaczyć rzeczywistą działającą usługę. Private BytesKolumna pokaże, jak bardzo, że dana usługa korzysta z pamięci. wprowadź opis zdjęcia tutaj

PenguinCoder
źródło
czy jest powód, dla którego powinienem szukać „prywatnych bajtów” zamiast „zestawu roboczego” (lub „wirtualnego rozmiaru”)?
tigrou
1
@tigrou Zestaw roboczy jest ostatnio przywoływany w pamięci, zobaczysz jego zwykle mniej niż prywatne bajty. Prywatne bajty to bieżąca pamięć przydzielona przez proces, który nie jest współużytkowany z żadnym innym procesem. Zobacz to pytanie StackOverflow .
PenguinCoder
2
Istotą pytania było określenie statystyk pamięci dla poszczególnych usług współdzielących proces hosta svchost. Ta odpowiedź w ogóle tego nie dotyczy.
kreemoweet
@kreemoweet Nie spojrzałeś na zrzut ekranu, prawda? scvhost.exe jest podzielony na usługi korzystające z niego w wielu lokalizacjach.
PenguinCoder
1
Jak zauważa @kreemoweet, nie odpowiada to na zadane pytanie, które dotyczy sytuacji, gdy wiele usług korzysta z tego samego procesu. Odpowiedź na pytanie dostępna jest w usłudze Server Fault: możesz skonfigurować każdą usługę, aby korzystała z własnego procesu .
Christian Conkle,
6

Korzystając z menedżera zadań ( Ctrl+ Shift+ Escape), możesz kliknąć svchostproces prawym przyciskiem myszy i wybrać, Go to service(s)a on podświetli usługi hostowane w tym procesie.

Alternatywnie, wybierając kolumnę PID na karcie procesu, możesz następnie dopasować PID na karcie usług.

pies
źródło
1

Możesz również skorzystać z kompilacji w Menedżerze zadań Windows i przejść do Widok> Wybierz kolumny> i zaznaczyć te, które mówią „Pamięć”, powinna to być około siódma, wszystkie dają różne wyobrażenia o tym, co program aktualnie robi.

gabeio
źródło
-1

Istnieje również monitor zasobów. Jest nowy w Windows 7 i 2k8r2. To jest jak menedżer zadań na sterydach. Nie jestem pewien, dlaczego nikt tego nie używa. Z mojego doświadczenia wynika, że ​​łatwiej jest rozwiązywać problemy z nim niż z eksploratorem procesów. Po otwarciu menedżera zadań wystarczy kliknąć przycisk „monitor zasobów” na karcie wydajności.

Rich.Weber
źródło
1
Jakie informacje zawiera? Co powiesz na zrzut ekranu? Czy możesz również napisać 2008 R2 zamiast inicjałów, zwłaszcza jeśli są to tylko 2 dodatkowe znaki? Ta odpowiedź jest bardzo niskiej jakości. Proszę edytować go poprawić.
Kanadyjczyk Łukasz