Der Martin: Programm extrem langsam - Grund herausfinden

Beitrag lesen

Moin,

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.

also ist der Zusammenhang vermutlich gar keiner, sondern das plötzliche Auftreten der hohen CPU-Last könnte zufällig bedingt sein.

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?

Nicct mit Windows-Bordmitteln. Es gibt als Diagnose-Tool in der Richtung noch den Process Explorer, der kann alle diese Betrachtungen AFAIK sogar bis auf Thread-Ebene herunterbrechen (ein Thread ist in dem Kontext ein Sub-Prozess innerhalb eines Programms).
Unter den Diensten, die du aufzählst, würde ich am ehesten noch Windows Update als Übeltäter vermuten - ich betone: vermuten. Aber eventuell auch der Themes-Dienst - hast du mal versucht, das Design auf das weniger ressourcenhungrige "Windows Klassisch" umzustellen?

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?

Nein, ich glaube, du siehst das schon richtig. Das halt eich eher für eine Oberflächlichkeit von Microsoft: Der Menüpunkt Dienste anzeigen sollte eigentlich bei Prozessen, die keine Dienste sind, ausgeblendet oder zumindest deaktiviert sein, weil er da keinen Sinn ergibt.

vielleicht wird dieser Prozess (z.B. ein Windows Update) ja unabhängig von irgendwelchen Programmen gestartet, kann das sein?

Ja, kann sein.

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?

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?

Ja. Vermutlich haben die Programmierer von VirtualBox den Verwaltungsaufwand von sich aus begrenzt und gemeint, vier Kerne seien nun wirklich genug.

Übrigens stammt VirtualBox ursprünglich(!) von einer kleinen Software-Schmiede namens Innotek, die ihren Sitz just in dem Ort hatte(!), in dem auch ich aufgewachsen bin und gut zwanzig Jahre meines Lebens verbracht habe. :-)

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).

Muss sie auch nicht explizit. Es ist Sache des Betriebssystems (des Schedulers, um genau zu sein), die verfügbaren CPUs oder CPU-Kerne den laufenden Prozessen zuzuordnen. Auf eine Acht-Kern-CPU könnten also acht Prozesse echt gleichzeitig laufen (anstatt im Zeitmultiplex), von denen jeder für sich keine Ahnung von Mehrkern-CPUs hat. Du hast also auf jeden Fall einen Vorteil.

Das bedeutet mindest vier der acht Kerne liegen brach, weil die Software maximal vier der Acht Kerne gleichzeitig ansprechen kann.

Nein, wenn dein Betriebssystm die acht Kerne verwalten kann ... das weiß ich aber nicht, weil mich diese Größenordnungen noch nicht betroffen haben.

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?

Das ist vermutlich nicht nur eine technische, sondern eher eine politische Entscheidung, wobei man sich durch die reine Taktfrequenz-Angabe nicht täuschen lassne darf. Je nach Modell kann eine CPU mit etwas geringerer Taktfrequenz sogar leistungfähiger sein als eine mit 25% mehr Taktfrequenz.

So long,
 Martin

--
Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws.
- Douglas Adams, The Hitchhiker's Guide To The Galaxy