Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!

ESX nicht ausgelastet, VM ziehen sich keine CPU

Hilfe bei Problemen mit Installation & Benutzung des VMware ESX/ESXi Server 3.

Moderatoren: Dayworker, irix

Member
Beiträge: 12
Registriert: 07.07.2008, 12:14

ESX nicht ausgelastet, VM ziehen sich keine CPU

Beitragvon RainerZufall » 29.07.2009, 15:54

Hallo VMWare Gurus,

wir haben vor einiger Zeit mal einen ESX 3.5 installiert auf folgender Hardware:

Manufacturer: IBM
Model: IBM System x3650
Processors: 8 CPU x 18 GHz (2 Quads)
Memory: 16 GB

VMs: 25

Nun fällt auf, dass die CPU Usage in der Übersicht selten am Limit von 8,+ Ghz ist, meist zwischen 3 -4 GHz; Speicher 13 GB.

Wir haben auf dem ESX Resource Pools erstellt und die VMs die mehr Leistung haben sollen in die "High-res" Pools gepackt. Die Pools haben wir lediglich über Shares gesteuert.

Das Problem ist, dass die Server sich kaum CPU ziehen.
Bei Linux VMs sieht man wie die Load steigt, aber die CPU in der VM Übersicht sich kaum bewegt und bei ein paar MHz stehen bleibt. Auch gibt es Beschwerden aus der Windowswelt, wo es heisst "es ist so langsam" ...

Ich würde erwarten das solche Aussagen und Probleme erst erscheinen wenn der ESX auch am Limit ist, oder?

Habt ihr Ideen oder ist so ein Verhalten normal?

Danke & Gruß,
RZ.

Profi
Beiträge: 993
Registriert: 31.03.2008, 17:26
Wohnort: Einzugsbereich des FC Schalke 04
Kontaktdaten:

Beitragvon kastlr » 29.07.2009, 22:17

Hallo,

was für VM's setzt du denn ein, single oder multi vCPU's?
Bei VM's mit mehreren vCPU's fällt es dem ESX Server schwerer, die entsprechenden Resourcen bereit zu stellen.
Das kann durchaus dazu führen, das die VM's langsam erscheinen, ohne eine hohe Last auf dem System zu erzeugen.
Du kannst das relativ einfach überprüfen, wenn du dir die Realtime Performance Daten deiner VM's ansiehst.
Überprüfe mal die CPU Ready Time, die Werte sollten unter 5% liegen (entspricht 1000ms).

Ansonsten mußt du sinnvolle Performance Tests durchführen, um das "gefühlte" Performance Problem mit Fakten zu belegen oder zu entkräften.

Vielleicht hilft dir das ja weiter.
Ralf

Member
Beiträge: 48
Registriert: 04.07.2009, 21:59

Beitragvon ollfried » 29.07.2009, 22:22

Wenn die Load steigt: Was macht denn Dein Storage? Wo laufen die VMs?

Member
Beiträge: 12
Registriert: 07.07.2008, 12:14

Beitragvon RainerZufall » 30.07.2009, 11:40

hallo und danke für die schnellen Antworten.

@ kastlr: wir haben 1vCPU Systeme und 2vCPU Systeme. ich werde mir die Werte mal genauer anschauen und hier berichten.


@ ollfried: sowohl lokal als auch auf einer NetApp. Es betrifft aber beide Arten von Storage, wir haben die auch schon mal getauscht, ohne Erfolg.

Member
Beiträge: 12
Registriert: 07.07.2008, 12:14

Beitragvon RainerZufall » 30.07.2009, 11:47

So ich habe mir gleich mal die Werte angeschaut.

bei einer 2vCPU Maschnine.

CPU1: Millisecounds: Latest:204; Maximum: 1549 Minimum: 86 Average: 389,35
CPU2: Millisecounds: Latest:268; Maximum: 1635 Minimum:120 Average: 447,12

hier handelt es sich um einen MS Terminalserver. Wenn ich das richtig verstanden habe, schaut das recht gut aus. :(

Ich beobachte auch Spitzen wo die Millisecounds auf bis 2000 kurz ansteigen, aber ich denke solange ich bei Average zusammen unter 1000 ms belibe ist alles ok.


Nachtrag: Bei einer anderen VM auch 2 vCPU liegt die Average der einen CPU bei 880 ms und bei der anderen bei 670 ms, macht zusammen 1550 ms .... :(

Member
Beiträge: 400
Registriert: 08.07.2009, 15:03

Beitragvon tr » 30.07.2009, 12:26

sag mal was meinst du eigendlich mit langsam ist die maschine selbst langsam oder nur das übertragene bild???

Member
Beiträge: 12
Registriert: 07.07.2008, 12:14

Beitragvon RainerZufall » 30.07.2009, 13:04

Die VMware selber.

Wie schon erwähnt, bei der Linux Kiste ziehst man herrlich wie der Server bei 200Mhz steht obwohl er "viel" zuverarbeiten hat. Die Load geht hoch meist weit über 7. damit ist ein arbeiten auf der Linux Kiste nicht mehr möglich.

Was halt komisch ist, bei der Übersicht des ESX. verwendet der Server für alle VMs meist nur die hälfte seiner CPU Leistung. Da erwarte ich halt das er von 8 Kernen zu je 1,9 Ghz auch locker seiner 1X GHz verbraucht und nicht 3 bis 4 GHz. ....

King of the Hill
Beiträge: 13059
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 30.07.2009, 13:11

RainerZufall hat geschrieben:Die VMware selber.

Wie schon erwähnt, bei der Linux Kiste ziehst man herrlich wie der Server bei 200Mhz steht obwohl er "viel" zuverarbeiten hat. Die Load geht hoch meist weit über 7. damit ist ein arbeiten auf der Linux Kiste nicht mehr möglich.


Wait IO steht auf was bzw. was zeigt "atop" an?

Ich muss sagen das wir ein aehnliches Problem haben, das wenn die Anzahl an VMs "irgendeine" Groesse ueberschreitet die Performance ins bodenlose sinkt. Da braucht nen XP VM locker 15min zum starten. Weder Speicher noch CPU (die sowieso nie) sind am Limit. Ein esxtop verraet mir nichts :(.

Gruss
Joerg

Member
Beiträge: 12
Registriert: 07.07.2008, 12:14

Beitragvon RainerZufall » 30.07.2009, 13:16

irix hat geschrieben:Wait IO steht auf was bzw. was zeigt "atop" an?


Ähm, wo finde ich das :)

King of the Hill
Beiträge: 13059
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 30.07.2009, 13:26

RainerZufall hat geschrieben:
irix hat geschrieben:Wait IO steht auf was bzw. was zeigt "atop" an?


Ähm, wo finde ich das :)


Sagtest du nicht das du Linux hast? Dein "top" sollte die auch WAIT anzeigen und "atop" ist ein weiteres CMD Tool aehnlich top. Zeigt aber besser an was resourcen angeht.

Gruss
Joerg

Member
Beiträge: 12
Registriert: 07.07.2008, 12:14

Beitragvon RainerZufall » 30.07.2009, 13:49

Sorry, ich dachte du meinste es auf dem ESX.

Wir haben die kritischen VMs nun auf einen seperaten Server gezogen mit ESXi 4. Dort laufen nun 2 VMs, beide Linux und auch so wie man es erwartet.


Aktuell haben wir nur noch Xp und Server2003 (TS) auf dem ESX 3.5.

hier ein aktuelles Beispiel. Auf dem Server war nur ich angemeldet (TS).

CPU vom Server: 50 % bis 100 %

Bild

VM Einstellung und was an CPU gezogen wird.(warum nur 200 MHz???)

Bild

Hier der ESX, Platz ist noch .... (wobei 8GHz schon ne Menge ist, die er sich zieht ;))

Bild

Benutzeravatar
Moderator
Beiträge: 3476
Registriert: 23.02.2005, 09:14
Wohnort: Burgberg im Allgäu
Kontaktdaten:

Beitragvon Tschoergez » 30.07.2009, 14:03

Hi,

(hab den Rest nur überflogen, möchte ich aber mal einklinken).

Das sieht doch ganz gut aus. die VM ist halt nicht sonderlich ausgelastet, und bekommt vom ESX deshalb nur 250 MHz zugewiesen.
(Die Anzeige im Taskmanager ist nicht wirklich aussägekräftig in VMs, da zählen nur "harte :grin: absolute Werte).

Bist Du sicher, dass CPU der begrenzende Faktor ist?

Schau mal bei Deinen VMs nach RAM-Auslastung, und Swapping bzw. Ballooningaktivitäten vom ESX.

Kannst Du auch mal einen screenshot vom "virtual Machines"-Tab des ESX machen mit den Spalten Host memory usage, memory size, cpu count, cpu usage usw.?

edit: nach dem letzen screenshot "riehcts" eher nach RAM-problemen...

Viele Grüße,
Jörg

Member
Beiträge: 12
Registriert: 07.07.2008, 12:14

Beitragvon RainerZufall » 30.07.2009, 15:03

Aber auch der Speicher ist nicht ausgelastet.... oder?

Bild

Hier mal der Screenshot. RAM ist schon recht konstant ausgelastet mit 13 / 14 GB von 16 GB.

Danke und Gruß,
RZ.

Member
Beiträge: 130
Registriert: 21.10.2008, 12:20

RAM Usage...

Beitragvon nbfbe » 30.07.2009, 15:55

Hallo,
wenn ich es richtig sehe haben deine VMs insgesamt 29.752 MB (!!) RAM vergeben - dein Server hat nur 16GB.

Also fast doppelt soviel RAM vergeben, wie vorhanden. Dies ist nur durch Ballooning möglich (ESX nimmt den VMs RAM weg, welcher nicht benötigt wird, damit dieser woanders genutzt werden kann). Dies ist in geringem Maße auch kein Ding - bei dir ist´s aber definitiv zuviel des Guten.

Würde hier also definitiv ein RAM-Upgrade bzw. einen 2. Server vorschlagen (Schlagwort: SPOF)!

Gruß

Benutzeravatar
Moderator
Beiträge: 3476
Registriert: 23.02.2005, 09:14
Wohnort: Burgberg im Allgäu
Kontaktdaten:

Beitragvon Tschoergez » 30.07.2009, 16:42

ja, so kommen wir wohl in die richtige Richtung...
Memory Overcommitment ist beim ESX gut möglich, (sogar erwünscht :grin:), aber eben in Maßen.

Jetzt musst Du wirklich in die Performance Charts bzgl. Speicher vom ESX und den einzelnen VMs gehen und da auf die Ballooning und swapping-werte schauen.

Als quicktipp: Mach die VMs kleiner ramtechnisch, orientier Dich dabei an den Guest Memory Usage Werten auf der Summary-Seite der jeweiligen VM.
Auf den ersten Blick würd ich sagen (hab natürlich nur die Momentaufnahme Deines Screenshots), Du kannst bis auf die letzte VM jede halbieren bei der RAM-Größe.

Gerade für Terminalserver VM aber kannst Du die größe evtl lassen, solltest aber evtl. Reservations vergeben, um Ballooning und swapping gerade dort zu vermeiden.

Was läuft denn in den VMs mit zwei vCPUs?

Hast Du da den richtigen Kernel bzw. HAL?

gibts beim esxtop hohe Werte bei %CSTP?

Und wo liegen die VMs storagetechnisch?
(Da kann unfeine Seiteneffekte geben, wenn durch das viele overcommitment viel geswappt werden muss, dadurch zusätzliche IO-Last erzeugt wird, die die Platten nicht liefern können, wodurch sich alles noch mehr verlangsamt.

Profi
Beiträge: 993
Registriert: 31.03.2008, 17:26
Wohnort: Einzugsbereich des FC Schalke 04
Kontaktdaten:

Beitragvon kastlr » 30.07.2009, 22:34

Hallo,

zuerst einmal hast du laut Screenshot deutlich über 30 GB RAM benutzt!
Du mußt nämlich neben den reinen RAM Werten, die du den einzelnen VM's zugewiesen hast, noch die Werte für den Memory Overhead hinzurechnen.
Die kannst du im Resource Management Guide nachlesen.
Dann fällt auch noch Memory für die Service Console und das System selber ab.

Und kann es sein, das du nicht in allen VM's die VMware Tools installiert hast?
Nur bei installierten VMware Tools gibt es den Ballon Driver, ansonsten bleibt nur noch das ESX Swapping.
Das ist aber die schlechteste Lösung, da der ESX Server keine Ahnung hat, ob die VM die Memory Page gleich wieder benötigt.

Überhaupt sollte man darauf achten, nie mehr als 70% des RAMs im Regelbetrieb zu verwenden.
Bis zu diesem Schwellwert versucht der ESX Server, Memory durch Balloning frei zu bekommen.

Und dann hast du laut Screenshot 29 vCPU's verwendet, damit hast du also auch deine 8 pCPU's um den Faktor 4 überbelegt.
Aber da deine Ready Zeiten offenbar im grünen Bereich liegen, scheint das Problem nicht daran zu liegen.

Hoffe, das hilft dir weiter.

Gruß
Ralf

Member
Beiträge: 12
Registriert: 07.07.2008, 12:14

Beitragvon RainerZufall » 31.07.2009, 17:15

Hallo,

vielen Dank für die Tipps.

Im ersten Schritt werde ich die RAM Leistung weiter runter schrauben und versuchen nicht über 16GB zu kommen. (mal schauen ob das klappt :) )

Dann werde ich noch mal über die VM-WareTools schauen, ob die aktuell sind und vorhanden.

Dann schaue ich Montag mal weiter. :)

Nachtrag: kurze Frage wieder, warum zeigt er mir bei dem Screenshot 2 GB als "freien" Speicher an?

Member
Beiträge: 12
Registriert: 07.07.2008, 12:14

Beitragvon RainerZufall » 31.07.2009, 18:24

So,
ich ziehe gerade noch eine recht lastige VM dabei ist mir aufgefallen, dass die Memory Usage um genau den Wert gefallen ist, die die VM auch benötigte. Somit liege ich bei allen VMs (stand jetzt) mit unter 12 GB (stabiler Wert) denke ich im grünen Bereich.

Was ich nicht verstehe und hier erneut dennoch deutlcih wurde. Oversizing ist doch genau das Thema warum man sich für VMware interessiert oder?

Ich mein, wenn ich 8 Core habe und 16 GB RAM, setzte ich doch nicht 8 Server mit je 2 GB RAM auf und sage ... "so voll" ...

Ich bin grundlegend davon ausgegangen, dass ich gerade durch das vom ESX gesteuerte zuteilen von Ressourcen mich locker an der Übersicht orientieren kann.

Frei nach dem Motto, da geht noch was.

Dennoch (nun haben wir schon 3 VMs umgezogen) zeigt die CPU Übersicht mit eine Last von gerade mal 3 GHz an (ok es ist Freitag Nachmittag)

Wenn ich die Übersicht deute und sehe das die CPU Auslastung vom Server bei 1/3 liegt denke ich doch nicht daran Server abzubauen, auch meine RAM ist mit nun 12 von 16 GB nicht gerade am Limit.

Vielleicht ist es aber auch nur von mir ein falschen Verständnis von VMWare und der Übersichtchart.

Wenn ich eure Erfahrungen recht deute neigt ihr dazu die vCPU und den RAM nur so zu verteilen wie er physikalisch auch vorhanden ist?

Gruß,
RZ und schönes Wochenende.

Benutzeravatar
Guru
Beiträge: 3138
Registriert: 22.02.2008, 20:01
Wohnort: Hessen

Beitragvon PeterDA » 31.07.2009, 22:06

Hi,
Oversizing kann man schon machen, allerdings hängt das immer auch davon ab, was die VMs machen. Ich kenne eine Fall das sind 2 SQL Server in einem Cluster gelaufen mir DRS immer wenn der SQL einen großen Job bekommen hat, hat er alle anderen VMs vom Host "gedrängt".

Also Oversizing geht aber man muss immer schauen was die VMs wirklich brauchen. Und irgendwann ist dann halt der Punkt erreicht an dem man Oversizing mit Performanceverlusten bezahlen muss. Wenn man damit leben kann ist alles okay, wenn nicht sollte man über einen weiteren Host nachdenken.

Gruß Peter

Profi
Beiträge: 993
Registriert: 31.03.2008, 17:26
Wohnort: Einzugsbereich des FC Schalke 04
Kontaktdaten:

Beitragvon kastlr » 01.08.2009, 22:16

Hallo,

ich sprach vom Regelbetrieb und nicht vom zugewiesenen Arbeitsspeicher.
Deine Umgebung ist ja das klassische Beispiel, mehr RAM an die VM's vergeben als physikalisch vorhanden.

Kritisch wird es aber erst, wenn deine VM's insgesamt mehr als ca. 70% des physikalischen Speichers nutzen, weil dann der ESX Server bei weiteren Anforderungen mit dem Swappen anfängt.
Bis zu diesem Schwellwert verwendet er das Balloning in den VM's (alte Memory Pages auslagern) und Transparent Page Sharing, welches so gut wie keine negativen Auswirkungen auf des Gesamtsystem hat (CPU Load +2%).

Aber nun mal zum Kern deines Problems, das sich mir immer noch nicht richtig erschließt.

Wie hast du denn bitteschön festgestellt, das deine VM's "viel" zu verarbeiten haben?
Welche Anforderungen hast du denn an deine VM's, handelt es sich um
    File- und Print Server
    Terminal Server
    Datenbank Server ?
Zumindest für die ersten beiden Typen ist die LAN Performance und die Anzahl der User/Sessions für das allgemeine Wohlbefinden von entscheidender Bedeutung.

Daher stellt sich mir die Frage, ob wir hier nicht an der völlig falschen Stelle suchen, denn wenn eine VM trotz vorhandener freier CPU und RAM Resourcen diese nicht anfordert, dann hat sie es auch nicht nötig!!!

Um so wichtiger wird es sein, einmal eine klare Beschreibung des/der Probleme zu erhalten, die du in deiner Umgebung festgestellt hast.
Eine niedrige Auslastung ist kein Problem, sie ist allerhöchstens ein Indikator.

Gruß
Ralf

Member
Beiträge: 12
Registriert: 07.07.2008, 12:14

Beitragvon RainerZufall » 03.08.2009, 17:55

Hallo und vielen Dank für die klasse Unterstützung.

Also die Server, die auf dem ESX laufen sind.

1. 3 TS Server wo nie mehr als 3-4 Leute drauf sind.
2. einen Appliaktionsserver der Daten bearbeitet / kopiert.
rest sind XP VM`s

wir hatten noch 2 Linux Kisten auf dem Server, die eine mysql Datenbank hatten. Diese 2 Server habe ich auf einen ESXi 4 umgezogen da das "gejammer" zu gross war.

Noch mal zu dem Problem und wie es sich darstellt. (bzw. dargestellt hat)

bei den Linux Server war eine ständig hohe "load average" von ca 5.0 - 12.0.
Damit hing die ganze Anwendung die dort hinter lief (OTRS). Die Webseiten wurden langsam aufgebaut und auch als "root" auf dem Server anmelden war teilweise nicht möglich. In der CPU Übersicht der VM hat sich der Server (wie schon erwähnt) 200 MHz gezogen und den Speicher den er zugewiesen bekam (mysql zieht sich halt alles was geht) Kurzum, das System war nicht zugebrauchen. Streckenweise lief der Server dann aber aber wieder "normal" auch die load pendelte sich bei unter 1 ein.

Da der Stress und Druck zu hoch war habe ich den Server auf eine alte Hardware mit ESXi 4 gezogen. Und siehe da, keine Probleme mehr, die load bleibt unter 1, die Leute sind glücklich. Auf dem alten Server laufen "nur" 3 VMs (2 CPUs,3 GB RAM)

Der 2 Linux Server (auch ein OTRS) verhielt sich ähnlich, auch diesen haben wir umgezogen und alles gut.

Ausschliessen kann ich das SAN (NetApp) da die VMs auch lokal ähnlich schlecht liefen. Das Netzwerk sollte was das angeht auch Performant genug sein.

Bei dem Windows TS Server war das Problem ähnlich. Wenn man sich angemeldet hat verhielt sich der Server wie eine alter Pentium1. (siehe Screenshot oben) die CPU war zu 100 % ausgelastet und es ging nix. In der CPU Übersicht konnte man dann wieder sehen das der Server sich nur 2xx MHz gezogen hat. Wobei mich bei der MHz Zahl die Leistung dann nicht wundert.

In der Gesamtübersicht war dann schön zu sehen das von 10 GHz nur 3 GHz für alle VMs benutzt wurden :(

Gruß,
RZ.

Member
Beiträge: 48
Registriert: 04.07.2009, 21:59

Beitragvon ollfried » 03.08.2009, 21:58

Die LOAD sagt auf einem Linux für sich allein genommen nur sehr wenig aus, da muss man schon tiefer schauen, wo der Flaschenhals liegt. Das für die Zukunft. :)

King of the Hill
Beiträge: 13059
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 03.08.2009, 22:50

Ich hatte ja schonmal nach WAIT IO bzw. atop gefragt......

Gruss
Joerg

Member
Beiträge: 12
Registriert: 07.07.2008, 12:14

Beitragvon RainerZufall » 04.08.2009, 12:20

so .... neuer / alte Server bekommt die gleichen Probleme ... bzw. konnte ich das mal in einem Screenshot einfangen. Leider war ich zulangsam und die Load ging runter.

Das die LOAD nicht alles sagt ist schon klar, aber es ist sicher ein Indiz und man kann daran sehen das da irgendwas nicht hinhaut.

Bild

Warum eine Load von 2.5 und nur 140 Mhz. und warum nur bei VMWare Linux Servern?
bei denen die auf einer echten Hardware laufen haben wir die Sorgen ned.

atop ist leider nicht installiert aber ein sar seigt mir einen %iowait von 0.00 bis 0.07 in der Zeit.

Bild

Ich habe mit meinem Linux-admin mal gesprochen, den IO schliesst er mal aus und verdächtigt den vm Kernel, das dieser out of the box halt nicht so rennt wie es sein sollte ...


Noch Ideen?

Gruß,
rz.

Benutzeravatar
Moderator
Beiträge: 3476
Registriert: 23.02.2005, 09:14
Wohnort: Burgberg im Allgäu
Kontaktdaten:

Beitragvon Tschoergez » 04.08.2009, 13:18

Bist Du sicher, dass die in der VM installierten Gastbetriebssysteme/Applikationen zur Anzahl der konfigurierten vCPUs der VM passen (Stichwort HAL bzw. SMP-Kernel oder uniprocessor-kernel)?

Wenn das nicht übereinstimmt, kommts zu derartigen Effekten (allerding meist andersrum, d.h. die VM ist im leerlauf, braucht aber trotzdem sehr viel CPU auf dem ESX).


Liegt die VM evtl. in einem Resourcpool, der ein LImit hat?

Wie sind denn die cpu-ready-Werte der VM?

Der Screenshot sagt nix über die aktuelle Auslastung der VM/des ESX aus! (Man sieht im Screenshot nicht, wie viel CPU-Zeit die VM aktuell bekommt). Das ist nur die konfigurierte Resource-allocation. Wenn Du die aktuellen Auslastungswerte sehen willst, musst Du auf die Performance-tabs gehen.

Kannst Du mal die Ausgaben vom esxtop auf der Konsole posten (mit möglichst breitem putty-Fenster :grin:)?

edit: oder, noch besser: schau Dir das an:
http://www.hypervizor.com/2009/06/inter ... top-modes/
und stell uns irgendwie das Ergebnis z.B. von
esxtop -S -i 10 -d 300
zur Verfügung (vorsicht, braucht evtl. einige 100MB in dem Verzeichnis, indems ausgeführt wird).


Viele Grüße,
Jörg


Zurück zu „ESX 3 & ESXi 3“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 41 Gäste