Karl Heinz: Programm extrem langsam - Grund herausfinden

Beitrag lesen

  • Nach dem Start benötigt die EXE-Datei der JTL-Wawi kaum noch CPU-Leistung. Der Prozess svchost benötigt weiterhin 99% der CPU-Leistung. Die 4 GB RAM werden kaum beansprucht.

So. Jetzt wäre interessant, welcher Dienst von dieser größenwahnsinnigen svchost-Instanz bedient wird. Das findet man aber auch raus, indem man die betreffende Zeile in der Prozess-Liste mit der rechten Maustaste anklickt und aus dem Kontextmenü "Dienst anzeigen" (oder so ähnlich) auswählt. Die Anzeige wechselt dann automatisch zum Dienste-Tab, und die Dienste, die zur aktuell ausgewählten svchost-Instanz gehören, sind markiert.

Anmerkung: Ich habe festgestellt, dass die Auslastung der svchost-Instanz von 99% auch unabhängig von der JTL-Wawi auftritt. Die Auslastung tritt z.B. auch dann auf, wenn ich ein anderes Programm wie z.B. Firefox starte. Erstaulicherweise bleibt die 99% Auslastung der svchost-Instanz auch dann bestehen wenn ich das Progamm (habs mit JTL-Wawi und Firefox getestet) wieder beende.

Nachfolgend mal diese Dienste die zur Lastfressenden svchost-Instanz gehören:

  • wuauserv (Windows Update)
  • wingmt (Windows Verwaltungsinstrumentation)
  • themes (Designs)
  • shellhwdetectin (Shellhardwareerkennung)
  • sens (Benachrichtigunsdienst für Systemereignisse)
  • schedule (Aufgabenplanung)
  • profsvc (Benutzerprofildienst)
  • lanmanserver (server)
  • iphlpsvc (IP-Hilfsdienst)
  • browser (Computerbrowser)
  • appinfo (Anwendungsinformation)
  • aelookupsvc (Anwendungserfahrung)

Kann ich irgendwie herausfinden, welche dieser ganzen Dienste wieviel CPU-Last in Anspruch nimmt umd damit den Übeltäter zu identifizieren?

Was mich in diesem Kontext etwas verwirrt:

Angenommen ich starte das Programm Firefox, dann wird mir dieses unter der Registerkarte Anwendungen aufgeführt. Des weiteren werden mir die auf Firefox basierenden Prozesse unter der Registerkarte Prozesse aufgeführt. Klicke ich nun rechts auf den Firefox-Prozess hätte ich im Kontextmenü erwartet, dass dort "Programme anzeigen" oder "Anwendungen anzeigen" auftaucht, da Firefox ja ein Programm und kein Dienst ist. Es wird allerdings "Dienste anzeigen" einbelendet, dass verstehe ich. Dienste unterscheiden sich von Programmen doch dahingehend, dass sie im Hintergrund laufen. Firefox läuft allerdings nicht im Hintergrund, dass bedeutet Firefox ist kein Dienst sondern ein Programm bzw. eine Anwendung damit müsste im Kontextmenü doch eigentlich "Anwendung anzeigen" oder "Programm anzeigen" auftauchen und nicht "Dienst anzeigen". Hab ich hier etwas grundsätzliches falsch verstanden?

  • Nach dem Beenden der JTL-Wawi über das Menü beansprucht der Prozess svchost nach wie vor 99% der CPU-Leistung. Die 4 GB RAM werden kaum beansprucht.

Es scheint also, dass das Programm irgendeinen Hintergrundprozess startet, ihn aber nicht beendet.

Seltsamerweise tritt dieses Phänomen auch dann auf wenn ich andere Programme wie z.B. den Firefox starte und wieder beende, damit kann ich die JTL-Wawi ja als Übeltäter ausschließen, da dieser Hintergrundprozess ja auch durch Firefox gestartet aber nicht wieder beendet wird. Vielleicht liege ich ja mit der Vermutung das dieser Prozess durch ein Programm ausgelöst wird falsch, vielleicht wird dieser Prozess (z.B. ein Windows Update) ja unabhängig von irgendwelchen Programmen gestartet, kann das sein?

  • auch dann für das Wirtsystem vorhanden, wenn das Gastsystem geöffnet ist, die dem Gastsystem zugeordneten CPU-Kerne und RAM-Anteile aber gerade nicht benötigt werden?

Nochmal: Es ist nicht so, dass dem Gastsystem soundsoviele CPU-Kerne zugeteilt werden, sondern es wird eine n-Core-CPU nachgebildet. Das Multitasking des Hostsystems funktioniert ganz normal weiter, und kann über alle CPU-Kerne verfügen. Die Aufteilung der CPU-Leistung zwischen Host und Gast erfolgt im Zeitmultiplex, und zwar je nach Bedarf.

Nochmal in eigenen Worten:

Der RAM den ich dem Gastsystem zuordne steht, sobald das Gastsystem gestartet wurde, nichtmehr für das Hostsystem zur Verfügung auch dann, wenn er nicht vom Gastsystem benötigt wird. Umgekehrt genauso, das Hostsystem kann niemals den RAM vom Gastsystem nutzen, auch wenn das Gastsystem den RAM gerade nicht benötigt. Ist das so korrekt?

Ordne ich dem Gastsystem vier der acht CPU-Kerne zu so bedeutet das, dass auf dem Gastsystem eine CPU mit vier Kernen und damit der halben Rechnenleistung wie auf dem Hostsystem simuliert wird. Dem Hostsystem steht nach wie vor die Leistung aller acht Prozessor-Kerne zur Verfügung, wobei dem Hostsystem die Leistung durch die virtuelle CPU des Gastsystems geklaut werden kann. Das Gastsystem kann allerdings maximal soviel Leistung vom Hostsystem klauen wie ihm Prozessorkerne zugeordnet sind. Im Beispiel habe ich dem Gastsystem vier Prozessorkerne zugeordnet, damit kann das Gastsystem maximal die Hälfte der Leistung vom Hostsystem klauen. Umkekehrt ist es so, dass dann, wenn das Gastsystem nur die Leistung von zwei CPU-Kernen benötigt, das Hostsystem auf die Leistung der zwei nicht benötigten Kerne des Gastsystem zugreifen kann. Wenn das so richtig erklärt ist, dann wäre es doch eigenhtlich am besten dem Gastsystem alle acht Kerne zuzuorden, wird die Leistung der acht Kernen nicht benötigt, so kann das Hostsystem ebenfalls auf die Leistung aller acht Kerne zugreifen, damit können sowohl das Hostsystem als auch das Gastsystem theoretisch auf die volle Leistung aller acht Kerne zugreifen, natürlich nicht gleichzeitig aber wechselseitig. Hab ich da so richtig verstanden?

Nachdem ich mich jetzt etwas detailierter mit CPUs beschäftigt habe bin ich mir grade ziemlich unsicher ob es blödsinnig war mir einen Achtkernprozessor von AMD zu kaufen. Ich lese immer wieder, dass die meiste Software keine Acht Kerne unterstützt (in der Praxis höchstens vier). Das bedeutet mindest vier der acht Kerne liegen brach, weil die Software maximal vier der Acht Kerne gleichzeitig ansprechen kann. Hab ich mit der Anschaffung der Achtkern CPU Mist gebaut?

Was ich ebenfalls nicht nachvollziehen kann ist das eine CPU mit vier Kernen die jeweils mit 3,5 GHz getaktet sind um die 600 Euro kostet (Intel Xeon E3-1275 v3) eine CPU mit acht Kernen die jeweils mit 4,4 GHz getaktet sind nur um die 200 Euro (AMD FX-9370). Die Intel CPU hat viermal 3,5 GHz sprich 14,00 GHz, die ADM CPU achtmal 4,4 GHz sprich 35,2 GHz. Warum kosten 14,00 GHz Leistung dreimal soviel wie 35,2 GHz Leistung?