none
CPU Performance - Takt bleibt unten trotz Last im Gast RRS feed

  • Frage

  • Hallo zusammen,
    folgende Situation:

    Auf dem Blech Quad-Core XEON mit f_max 3.5GHz, 32GB RAM

    Darauf ein 21012R2, Hyper-V Parent und 4 Guests.
    Jeder Guest hat 2 vCPUs und dynamisches RAM von 2-16GB.

    An für sich läuft alles prima.

    Mir ist allerdings aufgefallen, dass die CPU Frequenz ständig unten bleibt.
    Aufgrund der Energieoptionen (Ausbalanciert, CPU mim 10%, max 100%) sind das immer so um 800MHz (lt. CoreTemp auf dem Parent).

    Selbst wenn in einem der Guests die Last hoch ist (lt. Taskmanager im Guest ca. 60%) bleibt die CPU in dem Zustand.
    Kann ich irgendwie erreichen, dass die CPU hochtaktet wenn ein Guest was tut oder muss ich im Parent die Energieoption auf Höchstleistung stellen.

    Auf meinem "normalen" Rechner zuckt die Frequenz sofort hoch, auch wenn die Cores och weit weg von 50% sind....das hätte ich jetzt mal naiv auch auf dem Server erwartet.


    Danke schon vorab.
    S.
    Dienstag, 1. März 2016 09:50

Antworten

  • Was Grant meint und was deine Prozessoren drosselt sind die sogenannten C-States. Die wurden damals mit den Nehalem CPUs eingeführt und sollen Storm sparen. Wirken sich aber extrem auf die Performance aus. 

    Grant hats ja schon gesagt und in meinem Blog siehst dus auch. Alles auf Höchstleistung und dann hast du Ruhe (und ne höhere Stromrechnung). 


    Kind regards, Flo

    Mittwoch, 2. März 2016 20:55
  • Moin,

    im Bios und OS sollte 'Höchstleistung' eingestellt werden.

    Mit anderen Einstellungen kann es solche merkwürdigen Phänomene geben. Die CPU wird gedrosselt, Kerne werden schlafen geschickt (Core Parking) und es dauert eine gefühlte Ewigkeit, bis die maximale Leistungsfähigkeit wieder abrufbar ist. Kurzfristige Leistungsspitzen können dann ggf. gar nicht bzw. nur sehr träge bedient werden.


    This posting is provided AS IS with no warranties.

    Mittwoch, 2. März 2016 19:21

Alle Antworten

  • Hallo Sven, 

    du kannst vom Management OS aus nicht die tatsächliche Last deines Hyper-V Hosts sehen. Das Management OS ist bereits eine VM und sieht nur seine eigene CPU Load im Taskmanager. 

    Benutze mal bitte folgendes kleines Tool 

    http://www.tmurgent.com/appv/index.php/en/87-tools/performance-tools/217-hyperv-mon-3-10-tool-for-monitoring-hyperv-r3

    What am I looking at in the image above?

    HyperV_Mon was designed for IT professionals, not your average user, so there is a lot stuff on the screen. But just start with the graphs on the bottom.

    This bottom of the image represents the hardware.  Bios information and the serial number are shown.

    The layer above represents the Hypervisor, and the actual physical/logical CPUs.  These graphs show (by default) the CPU usage on each CPU.  The used CPU is shown in two colors, with the darker green representing Hypervisor overhead and the lighter green being usage by the VMs and the Host system.

    On the left is the root partition. Local CPU graphs and information on overall Memory and I/O usage is shown. The configure button on the top of this area allows you to configure the tool.

    The remaining area shows details of each of the running VMs. Details include CPU, Memory, and I/O.

    All of the CPU graphs are a time graph showing the last 60 intervals with the most recent interval on the right. The dark green represents "hypervisor overhead" while the light green is VM or host used processing. The blue line represents a running CPU average. Hover the mouse over items on the tool for additional debugging details to appear.



    Kind regards, Flo

    Dienstag, 1. März 2016 09:59
  • Das Auslesen der CPU Frequenz mittels CoreTemp sollte ja funktionieren...

    Ich hab das verlinkte Tool auch laufen lassen.

    Lt. dem Tool sind die CPU Lasten (egal ob im Gast oder om Parent) relativ weit unten.

    Wenn ich per powercfg die minimale Taktfrequenz auf 50% hochnehme, wird es deutlich schneller (Kopiervorgang runter von der VM auf einen Client wird von  70 Sek auf 47 Sek beschleunigt...).

    Mir scheint hier irgendwie die CPU sich nicht so zu belastet fühlen, dass die CPU Frequenz erhöht wird.

    Kann das Verhalten irgendwie verändert werden oder kann ich das nur "global" verändern?
    Also letztenendes wie oben erwähnt den minimalen Leistungszustand der CPU hochnehmen....

    Danke

    S.

    Dienstag, 1. März 2016 11:23
  • Hallo Sven, 

    check mal bitte die PowerSettings deiner CPU im BIOS. Es kann noch sein das du eventuell im Powersave Modus läuft. Anbei ein Beispiel von nem Dell Server. 

    How to enable max. performance on a Dell PowerEdge 12th Generation (Intel CPU)

    Die Übertaktung vom Intel Turbo Boost nachfolgende Faktoren beachten: 

    Art der Auslastung
    Anzahl der aktiven CPU-Kerne
    Kalkulierte Stromstärke
    Kalkulierte Leistungsaufnahme
    Prozessortemperatur

    http://www.intel.de/content/www/de/de/architecture-and-technology/turbo-boost/turbo-boost-technology.html


    Kind regards, Flo

    Dienstag, 1. März 2016 14:40
  • Hallo Flo,
    also daran kann es nicht liegen.

    Ich hab mal mit Prime95 getestet.

    Wie gesagt:
    Quadcore XEON, CoreTemp verwendet für die Anzeige der CPU Frequenz (ich geh davon aus, dass das mich auch in einem Hyper-V Parent nicht anlügt...)

    Hyper-V Parent Energieoptionen so, dass die CPU zwischen 50% und 100% Takten soll.
    Wenn sie nix macht hängt sie also bei entspannten 50%.

    Folgende Tests gemacht:

    a) Prime95 im Parent, voller Stress
    Wenn ich alle 8 möglichen Worker laufen lasse gehen alle Cores auf 100% und Frequenz auf 100% --> gut.

    b) Prime95 im Parent, Halbstress
    Wenn ich nur 4 der Worker laufen lasse wird die Last auf die Cores verteilt. Alle Cores zeigen im CoreTemp 50% an, Frequenz auf 100% --> okay was ich erwartet habe.

    c) Prime95 im Gast, voller Stress
    Wenn ich alle 2 möglichen Worker im Gast laufen lasse, gehen in der CoreTemp Anzeige des Parent die Belastungen der CPUs nicht wirklich hoch (hier scheint also tatsächlich nur die Last zu sehen zu sein, die auch der Parent "sieht" - die Werte sind dieselben wie in dem tmurgent Tool --> passt). Frequenz geht auf 3.9GHz hoch --> perfekt geht sogar in TurboBoost.

    In dem tmurgent Tool ist es bestätigt:
    Wie oben geschrieben zeigt die CPU Auslastung in der "root partition" dieselben Werte wie CoreTemp.

    Unten wirds dann richtig spannend:
    In der Auslastung der physikalischen Cores sieht man tatsächlich, wie zwar meist 2 auf 100% laufen, aber dann auch mal die Lasten "umverteilt werden"....auf einer CPU geht die Last runter, auf einer anderen gleichzeitig aber dann hoch --> der HyperV funktioniert also prima.

    d) Prime95 im Gast, nur 1 core im Stress
    Tja hier wirds dann eben komisch:
    Wenn nur ein Worker läuft (und somit eine vCPU im Gast) sieht man im tmurgent Tool dass die CPU nicht auf volle 100% hoch geht (ist aber auch auf einem echten Blech so...das scheint an Prime95 zu liegen).

    Die Frequenz der CPU fängt dann an zu "Pumpen"....mal 50%, mal so 75%.
    eben je nachdem ob die Last komplett auf einem physikalischen Kern läuft oder eben etwas verteilter ist.
    Aber auch das ist doch eigentlich ein Indiz, dass HyperV sauber läuft, also alles eigentlich so wie es sein soll.

    Nur eben hab ich den Eindruck, dass auf einem System bei dem die CPU auch langsamer getaktet werden kann (ob man das jetzt SpeedStep nennt oder wie auch immer ist erstmal wurscht) es eben Fälle gibt, in denen die Last in den Gästen nicht ausreicht, dass die Frequenz der CPU tatsächlich hochgeht.

    Also scheint es tatsächlich hier sinnvoll zu sein, dass man auf dem Server eben den Energieplan auf "Höchstleistung" einstellt.....

    Wie ist denn hier die Meinung der anderen - und Flo natürlich ;-)

    Gruß
    S.

    Mittwoch, 2. März 2016 17:05
  • Moin,

    im Bios und OS sollte 'Höchstleistung' eingestellt werden.

    Mit anderen Einstellungen kann es solche merkwürdigen Phänomene geben. Die CPU wird gedrosselt, Kerne werden schlafen geschickt (Core Parking) und es dauert eine gefühlte Ewigkeit, bis die maximale Leistungsfähigkeit wieder abrufbar ist. Kurzfristige Leistungsspitzen können dann ggf. gar nicht bzw. nur sehr träge bedient werden.


    This posting is provided AS IS with no warranties.

    Mittwoch, 2. März 2016 19:21
  • Was Grant meint und was deine Prozessoren drosselt sind die sogenannten C-States. Die wurden damals mit den Nehalem CPUs eingeführt und sollen Storm sparen. Wirken sich aber extrem auf die Performance aus. 

    Grant hats ja schon gesagt und in meinem Blog siehst dus auch. Alles auf Höchstleistung und dann hast du Ruhe (und ne höhere Stromrechnung). 


    Kind regards, Flo

    Mittwoch, 2. März 2016 20:55
  • Was Grant meint und was deine Prozessoren drosselt sind die sogenannten C-States.

    Guter Artikel; den kannte ich noch nicht.

    btw: mein Vorname ist Dark ;-)


    This posting is provided AS IS with no warranties.

    Mittwoch, 2. März 2016 22:33
  • Irgendwann bekomm ich mal deinen richtigen Namen raus ;) 

    Kind regards, Flo

    Mittwoch, 2. März 2016 22:49
  • Mach doch mal ein richtiges Monitoring des Host, Beispiel Screenshot, etc.

    http://www.windowspro.de/marcel-kueppers

    Donnerstag, 3. März 2016 09:53