CPU Auslastung durch viele Festplattenzugriffe?

Was sagt den der Resource Monitor und der Process Explorer auf dem Host?
Im Ressource Monitor bitte mal alle Tabs ausser Netzwerk.

Aber 1,5GB RAM für ne VM in der eine Applikation mit 1GB läuft halte ich schon für Grenzwertig...


Und den Teil verstehe ich leider nicht:

Ursprünglich hatte ich auch nur SSDs genutzt, damit war dann allerdings schneller die Grenze erreicht als mit den HDDs, bei meinem Test war die CPU Auslastung bei 8 VMs am niedrigsten solange maximal 3 VMs auf einer SSD laufen und nicht mehr. Daher bin ich dazu übergegangen auf HDDs zu bauenn, wie es jetzt wäre wenn ich 8 SSDs verbaue kann ich nicht sagen, soviele hatte ich jetzt nicht für die Rechner geholt um es zu testen.

Um die CPU jetzt nicht komplett zu überfordern durch die Zugriffe wären das bei meinen Testergebnissen 8 SSDs (min. 160 GB -> 240 GB SSDs wären am günstigsten). Wie stark wäre denn der erwartete Leistungsschub wenn ich bei 3 VMs pro SSD bleiben würde und anstatt die 4 HDDs für die 20 VMs dann auf sagen wir mal 8 SSDs umsteige? Jemand vllt ne Ahnung? Ich würds testen wenn es zu erwarten wäre wenn ich dadurch wenigstens 3 VMs mehr packen würde, dann würde sich der Umstieg finanziell lohnen.
 
Und den Teil verstehe ich leider nicht:
Liest sich doch ganz gut. Was ich nur nicht verstehe ist, warum es ein Problem darstellt, wenn ein PC/Server eine ausgelastet CPU hat, aber das langsamste Glied HDD zu nichts kommt.

VMs mit 2GB Ram, oder auch 2,5GB und Auslagerungsdatei aus, bzw. 100MB.
Hostsystem und VMs auf die SSDs schubsen, soweit noch Platz ist.
Und wie sieht die CPU Verteilung aus? 1VM = 1 CPU?
 
Hatte lange hier nicht smehr rein geschrieben, behandel das z.T. schon in nem andern Thema.

1 Proz 1 Kern

Ich hab ja hier noch den 5960X stehen und hier fällt mir das extrem auf:

20 VMs laufen, load ist bei 60-70%.

Schalte ich 3 dazu: 95-100% durchgehend. Blöd gerechnet sag ich mal 3.5% load beansprucht eine VM, bei 70% dürften 15% mehr VMs doch keine 30% mehr Load beanspruchen.....hier fällt mir das deutlicher auf, dass es nicht die Anzahl der Kerne der physischen CPU oder der Takt ist, der limitiert, sondern einfahc irgendwo ein Punkt erreicht ist wo irgendwas am Limit ist. Und da tippe ich einfach mal auf den Sata Controller.

Was ich jetzt nächste Woche testen werde sind 2 zusätzliche PCI-E Controller, vom groben doofen Verständnis her müsste es doch "angenehmer" für die CPU sein die Daten aus 3 weniger ausgelasteten Controllern (Chipsatz/Board + Karte1 + Karte2) zu fischen, als von einem völlig überlasteten X99 Controller der von 5 HDDs voll mit Daten ausgelastet ist, oder sehe ich das falsch?


Die Problematik mit der virtuellen Auslagerungsdatei kann ich leider nicht (sinnvoll) vermeiden, lasse ich die VMs mit 2-2.2 GB laufen kommt es vereinzelnd zu Abstürzen weil bei Peaks das Ram nicht mehr reicht, lasse ich die mit 1.5-1.7 gb laufen + 2 gb auslagerungsdatei hab ich keine Probleme
 
Zuletzt bearbeitet:
Überdenke auch das Hyperthreading Kerne nicht die Leistung haben wie "Normale" Kerne ... daher kann es immer sein das der Load nicht linear steigt .
 
Nein Viel Entscheidender ist das Thema Queuing (Warteschlange) und Context Swichte.
Sollte man alles bei Wikipedia finden können, hier aber eine kurze Erklärzung.

Theoretischen Konstrukt:
Ein Prozess braucht pr Sekunde genau für 1/5 Sekunden einen CPU Kern. Das Scheduling des Prozesses ist aber rein zufällig. Das heißt er kann theoretisch am Ende der ersten and am Anfang der zweiten Sekunde seine Rechnzeit brauchen. Alles kein Problem, Auslastung bei 20%.
Jetzt haben wir vier dieser Prozese. Das Ergbit zwar eine Auslastung von rechnerisch 80%. Allerdings kommt es immer wieder zu Wartezeiten wiel gerade ein anderer Prozess die CPU belegt.
In deisem Beispiel wird der Kontext Switch nicht berücksichtigt. Das ist die Zeit die die CPU braucht um Prozess 1 auszulagern und Prozess 2 einzulagern. Analoges Beispiel was jeder selber Kennen sollte, zwei Aufgaben für die Schule sind zu erledigen. z.B. Englisch und Mahte. Man ist mit Englisch beschäftigt und hat neben dem Lehrbuch noch das Vokelbuch und nen Heft. Jetzt will man zu Mathe Wechseln, also braucht man ein andere Lehrbuch, Formelsammlung, Taschenrechner und ein andere Heft. Dies alles Kostet Zeit die nicht effektiv verwendet werden kann.


Der Prozessor hat nun das Problem, dass es 20 bzw 23 VMs (Aufgaben) gbit (Alle anderen Dinge vernachlässigt). Jeder Wechsel (Context Swicht) benötigt Zeit die nicht wirklich gearbeitet werden kann. Daher steigt die Last überproportuinal an.
Als Daumenregel hat sich für uns im Unternehmen und mich etabliert zu sagen, bis zur Anzahl der Threads können Prozesse/Threads ausgeführt werden ohne das man sich gedanken machen muss. Zwischen dem Faktor 1 und 2 ist in der Regel alles ok. Aber darüber Hinaus wird es echt eng.
 
Zuletzt bearbeitet:
Ah das klingt einleuchtend...was ich aber momentan nicht verstehe...hab jetzt mal ein bisschen mit der Kernzuteilung rumgespielt...

Ein Xeon 1230 V2 usw. schafft problemlos stabil und schnell laufende 14 VMs in dem Anwendungsbereich.

Jetzt bin ich einfach mal hingegangen und hab im Windows mit der Kernzuteilung rumgespielt.

10 VMs laufen und ich hab alle 10 VMs auf die Kerne 8-15 gelegt, Coretemp zeigt mir dann eine Auslastung von 50% auf den Kernen 5-8 an.

Windows zeigt mir dann das hier an:

load4c.jpg

Was mir jetzt aufgefallen ist:

Die Leistung in den VMS bricht deutlich ein, wenn man dem Taskmanager glauben darf ist der physikalische Kern bei extrem niedriger Auslastung, das Hyperthreading ist deutlich am Ende.

10 VMs sind ja eigentlich keine Kunst, da langweilt sich selbst der 4930K mit 2 Kernen weniger, wieso bekommt die CPU es mit 4 Kernen die genutzt werden nicht so gut hin wie ein "billiger" Xeon 1230? Oder muss zwingend noch irgendwas auf Core 0/1 liegen damit die Leistung vernünftig abgerufen wird?

Was mir auch noch aufgefallen ist, starte ich wow in einer der VMs fängt die Maus an zu ruckeln und ruckelt sich langsam über den Bildschirm, sobald WoW voll geladen ist, hört das auf..
 
Zuletzt bearbeitet:
Hast du vielleicht die Möglichkeit mal das Intel PCM zu kompilieren und laufen zu lassen? Damit kann man ziemlich tief in die CPU interna schauen.
Das verhalten ist sehr komisch. Kann ich aus dem stehgreif nicht erklären. Vielleicht hängt die zweite Hälfte der Kerne nicht am memory controller oder dem io. Kannst du das selbe mit der ersten Hälfte der Kerne nochmal testen?
Das einbrechen der performance erklärt sich durch die Auslastung. Warum aber nur jeweils 1 thread verwendet wird, keine Ahnung.
Und die hohe Kernel Auslastung ist ein Indikator dafür dass das system mit sich selbst beschäftigt ist.
Kannst du dir mal die service Zeiten der platten anschauen?


Sehr interessantes Problem. Unter Linux könnte ich vielleicht besser helfen, da ich mich da besser auskennen was man wie messen kann und weiß wie man es interpretieren muss.
 
Woher weis Windows selber welcher Kern ein "normaler" ist und was ein HT Kern ist ...

Wenn du da was fest zuteilst dann kannst du es ja auch falsch zugeteilt haben .
 
PCM: Mach ich morgen mal....ich bau heute nachmittag mal das 2. Ramkit aus, teste dann das gleiche Szenario nochmal im Stock und dann mit 4.3 GHZ OC, mal schauen ob sich das OC bemerkbar macht....dann deaktiviere ich mal Hyperthreading und schau mal wie es sich dann verhält...

Ich versteh ja auch sowieso den Graph vorne und hinten nicht....

Wenn man hingeht und (was logisch ist) sagt, dass Windows quasi im taskmgr anzeigt:

C0 - C0HT - C1 - C1HT -......C8 - C8HT

Dann müsste die Lastenverteilung ja eigentlich auf ALLEN graphen rechts sein und nicht auch auf den linken 8...Mir kam kurz in den Sinn, dass der HT Kern nicht direkt beim physischen Kern ist (wenn man von C0/1 C2/3 usw ausgeht als paar), aber das wär bei der Lastenverteilung die ich da sehe auch wieder unlogisch, da ich alles auf C8-15 gelegt hatte...

Laut Taskmanager ist ja angeblich unter Last

Core0, C3, C5, C6 + die Hyperthreadingkerne von C5-C8

Könnte es auch sein, dass die Kernzuteilung von Windows einfach fehlerhaft ist? Win7 64 ist ja nun deutlich älter als die CPU und möglicherweise hat MS da Mist verzapft...die aktuellsten Windows Uptates sind jedenfalls drauf...
 
was noch sein könnte
VM-Ware lagert doch ab ner gewissen Version immer den Ram der VM auf die host-Festplatte aus und die Einstellung kann nicht mehr mittels CFG Datei wie früher beeinflusst/unterbunden werden.

Ich hab es im VMWare-Player bemerkt als ich von der v3 auf v6 updatete und alle VMs plötzlich ur langsam wurden.
 
Zurück
Oben