Powershell: Wie kann man auslesen, welche 5 Dienste/Services am meisten Leistung benutzen?
Ich möchte per Powershell-Script auslesen können, welche 5 Services am meisten CPU und RAM Leistung benötigen. Ist das möglich?
1 Antwort
![](https://images.gutefrage.net/media/user/daCypher/1444744777_nmmslarge.jpg?v=1444744777000)
Nach Prozessorzeit:
(get-counter '\Prozess(*)\Prozessorzeit (%)').countersamples|sort CookedValue -descending|select -first 5 -skip 2
Nach Arbeitsspeicherverbrauch:
(get-counter '\Prozess(*)\Arbeitsseiten').countersamples|sort CookedValue -descending|select InstanceName, CookedValue -first 5 -skip 1
Das "-skip 2" am Ende kannst du auch weglassen. Die ersten beiden Prozesse, die da normalerweise drinstehen sind "_total" und "idle", also die gesamte Prozessorzeit und die Leerlaufzeit.
Falls du kein deutschsprachiges System hast, muss statt '\Prozess(*)\Prozessorzeit (%)' natürlich die entsprechende Übersetzung drinstehen. Welche Zähler es gibt, siehst du mit
get-counter -listset *|select CounterSetName, Paths
bzw. detaillierter für das jeweilige CounterSet mit
(get-counter -listset Prozess).Paths
![](https://images.gutefrage.net/media/user/daCypher/1444744777_nmmslarge.jpg?v=1444744777000)
Das kann ich dir leider nicht beantworten, weil ich bei mir nur die deutschen Namen sehe. Du müsstest aber hiermit das gleiche rauskriegen:
Get-Process|sort ws -desc|select -first 5
![](https://images.gutefrage.net/media/default/user/9_nmmslarge.png?v=1551279448000)
Das gleiche wie was meinst du? Weisst du vielleicht wie ich die englische Übersetzung von '\Prozess(*)\Arbeitsseiten' finden kann?
![](https://images.gutefrage.net/media/user/daCypher/1444744777_nmmslarge.jpg?v=1444744777000)
Ich meinte damit, dass du mit "Get-Process... " die gleichen Daten kriegst, wie mit "Get-Counter ... Arbeitsseiten".
Du brauchst also nicht die englische Übersetzung finden, sondern kannst einfach den Speicherverbrauch aus den Prozessen auslesen. Die Spalte "WS(K)" ist das, was du brauchst.
Laut der Memberdefinition von Get-Process steht die Abkürzung "WS" für "WorkingSet64". Vielleicht findest du unter dem Namen ja was in den Countern
Ich hab ein englisches System, was wäre da die Übersetzung von '\Prozess(*)\Arbeitsseiten' ? Finde diese nicht, Die Übersetzung von Prozessorzeit habe ich jedoch gefunden ('\Process(*)\% Processor Time')