Debian Hohe CPU Last mit VMWare

MaXg

assimiliert
Szenario:

- 08/15 Rechner
- 2 GB RAM
- 2x 500GB HDD

Laufende Dienste:
2nd DHCP, 1st DNS, Routing, Proxy, Contentfilter, Monitoring & Statistiken und VMWare

VMWare (VMware Server Version 2.0.2):
Eine VM mit W2k3, Updates noch aktuell.

Laufende Dienste:
DNS, DHCP, Mail, AV Server, SPAM-Filter, AD, FTP & geschätzte 50-70 Scripte.

Die Linuxmaschine & WindowsVM machen ihren Job!

Dummerweise geht das "Grundrauschen" der CPU linear nach oben, was sich nach ~2 Monaten mit Leistungseinbußen bemerkbar macht.
Mit bissel Rumprobieren hab ich herausgefunden, dass wenn ich die VM kurz anhalte und wieder starte, das Grundrauschen praktisch weg ist.
Jetzt bin ich mit meinem Latein am Ende. Die Logfiles sind Sauber und ich hab keine zündende Idee mehr woran es liegen könnte.

Mein Stand:
VMware Neustart = Last Steigend
VMHost anhalten = Last gleichbleibend
VMHost Stop/Resume = Last nahe null

Im Bild ist gut erkennbar wann auf Pause gedrückt wurde:
Hellgrün: Grundrauschen
Dunkelgrün: echte Last
 

Anhänge

  • cpu-load.jpg
    cpu-load.jpg
    102,4 KB · Aufrufe: 450
Helfen kann ich Dir vermutlich kaum. Hätte ich so ein Problem würde ich mich fragen was (welcher Dienst) die CPU-Last erzeugt.

Wird die CPU schon innerhalb der VMWare gefressen - also von w2k3?
Tritt es ausserhalb auf - sind es die Dienste von VMWare selber? Sind die Gasttools auch installiert (wahrscheinlich schon und daher ne dumme Frage)?
Xorg wäre noch ein Kandidat; bei bestimmten Versionen kann es vorkommen, dass der Rechner anscheinend fast stillsteht nach einer Weile. Der Befehl "top" zeigt in der Konsole die momentane CPU-Last der Prozesse an (und aktualisiert sich selbstständig alle 5 Sekunden).
 
VMWare Tools sind drauf.
Nein, die W2k3VM wurstelt bei nahe null vor sich hin. Die von der VM verursachte Last erklärt nicht den linearen Anstieg. :(

Xorg und co. gib es auf keiner meiner Linux Kisten, kann ausgeschlossen werden.

Im Code die Last nach etwas mehr als 2 Wochen ohne Stop/Resume.

Code:
proxy.gate:~# top -p 17285, 5159
top - 21:23:14 up 114 days, 23:11,  1 user,  load average: 0.11, 0.13, 0.13
Tasks:   2 total,   1 running,   1 sleeping,   0 stopped,   0 zombie
Cpu(s):  5.0%us,  2.0%sy,  0.0%ni, 93.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2067172k total,  1922048k used,   145124k free,   121464k buffers
Swap:  2931852k total,     2000k used,  2929852k free,  1111532k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
17285 root      10 -10  862m 578m 552m R 13.0 28.6   1731:06 vmware-vmx
 5159 root      20   0 86180  38m  19m S  0.0  1.9  30:59.32 vmware-hostd
 
ot:
Was ist das für ein Programm welches du als Screenshot angehangen hast? Geht das auch für Windoof?
 
Generell werden Dir wahrscheinlich schon mehr Prozesse angezeigt als im Screenshot gelistet; aber die pennen vermutlich fast die ganze Zeit und blitzen nur sporadisch aus dem Schlaf auf. Wenn es wirklich der Prozess vmware-vmx ist, der je länger je mehr die CPU an die Wand fährt, könnte es an irgendeiner Einstellung der vm in VMWare oder VMWare selber liegen, oder ein Bug im Dienst oder sonstwie eine verworrene Abneigung von vmware-vmx zu sonst was. Ich denke aber, dass Du Dir dessen eh schon lange bewusst bist, da Du recht viel Ahnung zu haben scheint (klar mehr als ich jedenfalls, aber ich bin auch kaum Massstab).

Leider kann ich Dir wie angenommen nicht helfen, aber ich hab mal kurz im Web geschnuppert. Gänzlich unbekannt scheint es nicht zu sein, dass VMWare die CPU wegfressen kann. Ich poste mal ein paar Links, auch wenn gänzlich andere Konfigurationen sich darunter befinden mögen; wenigstens ein bisschen Lesestoff zu ähnlichen Problemen. :)

- Eine ganz andere Konfiguration, aber das Verwenden aller Cores in der vm führte anscheinend dazu, dass jede CPU-Last ausserhalb der vm die Core-Last des vm-Dienstes gleich mit hochzog - link

- Auch eine andere Konfiguration als Deine, aber auch volle CPU-Last - link

- Das hier ist irgendwie noch interessant, obwohl Deine Prozesse nicht zu Zombies werden - link

- Nochmal ein Zombie oder willkürliche Hänger - link

- Eine Seite oben hat auch einen Link drin, der hierhin führt (Optimierungen) - link
 
Links haben weiter geholfen! Danke!

Die Ursache ist zwar nicht beseitigt, dafür hab ich eine einfache Dirty Lösung gefunden, die hier zu hause vollkommen ausreichend ist.

Cronjob alle 14 Tage:

Code:
#!/bin/bash
# VM Pause / Resume per Shell
###################
#pause
vmrun -T server -h https://127.0.0.1:8333/sdk -u user -p Passwort pause "[standard] Server2k3\Server2k3.vmx"
#25 Sekunden Kunstpause
sleep 25
# resume
vmrun -T server -h https://127.0.0.1:8333/sdk -u user -p Passwort unpause "[standard] Server2k3\Server2k3.vmx"

Datastore = [standard]
vmx = Pfad zur VM (Server2k3\Server2k3.vmx)

Jetzt kann ich die wiederkehrenden "Pause/Resume" Zeiten aus dem Terminplaner löschen. :)

Wenn das aufm ESX-Cluster passiert, meld ich mich wieder. ;)
 
Oben