Tutorial: Wie man die MAX. PERFORMANCE aus VMWare holt.
Verfasst: 31.10.2004, 20:24
Hi all.
VMWare ist ne feine Sache.
Aber wer die Virtuallen PCs und Betriebssysteme direkt über VMWare benutzen möchte ist klar im Nachteil.
Der grösste Flaschenhals in VMWare ist die Grafikemulation.
Sie zwingt VMWare und somit die Performance des virtuellen Rechners in die Knie.
Hier ein paar Tricks wie man, vor allem für virtuelle Linux-PCs, mehr Performace rausbekommt.
Kapitel 1 = Linux:
Emulieren von Linux/Unix/*BSD ähnlichen Betriebssystemen.
1. a) Wenn Sie Ihre virtuelle Maschiene *nicht* auf Fremdrechner anderer Host-Architekturen (Athlon-XP zu Intel P4 oder AMD64) portieren wollen,
indem Sie z.Bsp die virtuelle Festplatte (MeinVirtuellesOS.vmdk) sichern und auf einem vollkommen andersartigen Rechner (mit VMWare) laufen lassen wollen,
dann empfiehlt sich den Kernel des Linux/Unix/*BSD artigen virtuellen Betriebssystems auf denselben Prozessor-/Architekturtyps zu kompilieren,
welcher auch in Host-PC real vorkommt.
Dies minimiert die prozentualen Performanceverluste der Emulierung eines Virtuellen PCs auf ein Minimum,
denn im Gegensatz zu z.Bsp "Bochs" emuliert VMWare die Hardare nicht 100%ig.
Bochs liefert einen kompletten virtuellen Prozessor in Software mit (Intel Pentium Pro),
wobei VMWare hingegen "lediglich" eine Art Wrapper einsetzt, der Befehle aus der virtuellen Maschine einfach an die reale Maschiene weiter- bzw umleitet.
Das macht VMWare deutlich performanter, aber von einer echten Emulation kann man nicht sprechen.
Nachteil ist aber dass wenn man nun doch die Architektur wechelt, der virtuelle PC nicht mehr laufen würde.
(Negativ-)Beispiel: Ihr besitzt einen Intel P4 und habt ein Linux eurer Wahl unter VMWare auf Intel P4 kompiliert.
Ein Jahr später kauft Ihr euch einen Athlon64 und installiert VMWare, kopiert eure vorher gesicherte virtuelle Festplatte (MeinVirtuellesOS.vmdk) in die VMWare Neuinstallation und wundert euch wieso der virtuelle PC plötzlich nicht mehr geht.
Wer sein virtuelles Betriebsystem in den nächsten echten PC mitnehmen will sollte auf i686 kompilieren,
das ist kompatibel zu allem was neuer ist als ein PentiumPro/Pentium II,
und immer noch besser wie die i386 vorkompilierten Packages der meisten Linux/Unix/*BSD Betriebsysteme.
1. b) Wann immer es geht VMWare umgehen. Wie ist das gemeint fragt Ihr euch jetzt. Ganz einfach.
Niemals VMWare direkt benutzen, denn die Grafikemulation, insbesondere unter Betriebsystemen die keine VMTools-Installation unterstützen, ist *der* Flaschenhals von VMware schlechthin.
Startet auf euren virtuellem Linux/Unix/*BSD einen ssh server (sshd) und unterbindet das automatische starten in die grafische Oberfläche.
Lasst das System direkt in das Text/Console Login booten und rührt es nicht an. VMWare läuft im Hintergrund ohne hardwarefressende Grafikemulation.
Nun beschränkt sich VMWare "nur" auf die internen Berechnungen des virtuellen Betriebssystems statt zusätzlich auf die Grafikdarstellung.
Starten nun einen ssh login (unter Windows empfehle ich Putty) mit "-X" als Parameter (weitergeleitetes X) auf die virtuelle Maschiene.
Putty User machen statt dem "-X"-Parameter einfach ein Hacken in "Connection => SSH => Tunnels, X11 forwarding , "Enable X11 forwarding" und geben unter "X display location die <ip.des.host.pcs> ein mit einem ":0" am Ende (z.bsp "192.168.0.1:0").
Installieren Sie X-Deep/32 X-Server (http://www.pexus.com/ , Freeware) auf Windows.
User von Linux-Host Betriebssystem haben standartmässig einen X-Server installiert (denk ich mal ;P ).
Leiten Sie X um auf den X-Server des Host-Betriebssystems: "export DISPLAY=<ip.des.host.pcs>:0" .
Fügen Sie den Host-Rechner zur Liste der vertrauten/bekannten Hosts hinzu: "xhost +<ip.des.host.pcs>"
Nun sollten Sie per "xinit" (*nicht* startx !) in der Lage sein in Ihre X Umgebung zu wechseln samt WindowManager.
Falls das nicht funktioniert müssen Sie Ihren WindowManager in die "~/.xinitrc" eintragen auf dem virtuellem PC.
Wenn alles klappt kümmert Sich der Rechner auf dem X-Server (meist ein Windows Rechner ;P ) selbst um die Fenster/Grafikdarstellung und nicht mehr VMWare welches bekanntermassen damit Probleme hat.
Nun kümmert sich Ihr Host-OS um die Grafik und Ihr VMWare nur um alles andere.
Für Leute die gerne 3D Grafiken x-forwarden möchten hier ein besonderes Schmankerl => http://virtualgl.sourceforge.net/
Mehr Leistung holt Ihr aus eurer VMware nicht raus.
Kapitel 2 = WindowsXP:
Emulieren von WindowsXP/2000/2003 Server Betriebsystemen.
Hier gibts in jedem Fall VMTools zum installieren um mächtig viel Performance rauszuquetschen.
Aber auch hier geht es einfacher:
Remote-Login aktivieren wer sich traut.
Im Remote Verbindungsfenster wird alle Grafik auf dem Host OS berechnet,
der virtuelle PC leitet nur die Grafiken weiter (wie beim X-forward unter Linux) und muss sie somit nicht selbst zeichnen.
Das dürfte nochmals ein paar Prozent Performance rausquetschen.
Kapitel 3 = Allgemein.
Benutzen Sie beim erstellen einer virtuellen Festplatte wenn möglich "Accolate diskspace now".
Das hat unter anderem den Vorteil dass Ihr System vorallem langfristig schnell bleibt, da diese Option die Fragmentierung der Festplatte unter Windowsrechnern minimiert.
Dieser Beitrag unterliegt dem Urheberrecht.
Anwendung der hier beschriebenen Vorschläge nur auf eigenes Risiko.
Das wars.
Anmerkungen ? Verbesserungsvorschläge ? => Ich wäre dankbar.
PS: Ich bin neu (im Forum, nicht in VMWare ;) ).
EDIT: Wer Rechtschreibfehler findet darf sie behalten!!! :D
VMWare ist ne feine Sache.
Aber wer die Virtuallen PCs und Betriebssysteme direkt über VMWare benutzen möchte ist klar im Nachteil.
Der grösste Flaschenhals in VMWare ist die Grafikemulation.
Sie zwingt VMWare und somit die Performance des virtuellen Rechners in die Knie.
Hier ein paar Tricks wie man, vor allem für virtuelle Linux-PCs, mehr Performace rausbekommt.
Kapitel 1 = Linux:
Emulieren von Linux/Unix/*BSD ähnlichen Betriebssystemen.
1. a) Wenn Sie Ihre virtuelle Maschiene *nicht* auf Fremdrechner anderer Host-Architekturen (Athlon-XP zu Intel P4 oder AMD64) portieren wollen,
indem Sie z.Bsp die virtuelle Festplatte (MeinVirtuellesOS.vmdk) sichern und auf einem vollkommen andersartigen Rechner (mit VMWare) laufen lassen wollen,
dann empfiehlt sich den Kernel des Linux/Unix/*BSD artigen virtuellen Betriebssystems auf denselben Prozessor-/Architekturtyps zu kompilieren,
welcher auch in Host-PC real vorkommt.
Dies minimiert die prozentualen Performanceverluste der Emulierung eines Virtuellen PCs auf ein Minimum,
denn im Gegensatz zu z.Bsp "Bochs" emuliert VMWare die Hardare nicht 100%ig.
Bochs liefert einen kompletten virtuellen Prozessor in Software mit (Intel Pentium Pro),
wobei VMWare hingegen "lediglich" eine Art Wrapper einsetzt, der Befehle aus der virtuellen Maschine einfach an die reale Maschiene weiter- bzw umleitet.
Das macht VMWare deutlich performanter, aber von einer echten Emulation kann man nicht sprechen.
Nachteil ist aber dass wenn man nun doch die Architektur wechelt, der virtuelle PC nicht mehr laufen würde.
(Negativ-)Beispiel: Ihr besitzt einen Intel P4 und habt ein Linux eurer Wahl unter VMWare auf Intel P4 kompiliert.
Ein Jahr später kauft Ihr euch einen Athlon64 und installiert VMWare, kopiert eure vorher gesicherte virtuelle Festplatte (MeinVirtuellesOS.vmdk) in die VMWare Neuinstallation und wundert euch wieso der virtuelle PC plötzlich nicht mehr geht.
Wer sein virtuelles Betriebsystem in den nächsten echten PC mitnehmen will sollte auf i686 kompilieren,
das ist kompatibel zu allem was neuer ist als ein PentiumPro/Pentium II,
und immer noch besser wie die i386 vorkompilierten Packages der meisten Linux/Unix/*BSD Betriebsysteme.
1. b) Wann immer es geht VMWare umgehen. Wie ist das gemeint fragt Ihr euch jetzt. Ganz einfach.
Niemals VMWare direkt benutzen, denn die Grafikemulation, insbesondere unter Betriebsystemen die keine VMTools-Installation unterstützen, ist *der* Flaschenhals von VMware schlechthin.
Startet auf euren virtuellem Linux/Unix/*BSD einen ssh server (sshd) und unterbindet das automatische starten in die grafische Oberfläche.
Lasst das System direkt in das Text/Console Login booten und rührt es nicht an. VMWare läuft im Hintergrund ohne hardwarefressende Grafikemulation.
Nun beschränkt sich VMWare "nur" auf die internen Berechnungen des virtuellen Betriebssystems statt zusätzlich auf die Grafikdarstellung.
Starten nun einen ssh login (unter Windows empfehle ich Putty) mit "-X" als Parameter (weitergeleitetes X) auf die virtuelle Maschiene.
Putty User machen statt dem "-X"-Parameter einfach ein Hacken in "Connection => SSH => Tunnels, X11 forwarding , "Enable X11 forwarding" und geben unter "X display location die <ip.des.host.pcs> ein mit einem ":0" am Ende (z.bsp "192.168.0.1:0").
Installieren Sie X-Deep/32 X-Server (http://www.pexus.com/ , Freeware) auf Windows.
User von Linux-Host Betriebssystem haben standartmässig einen X-Server installiert (denk ich mal ;P ).
Leiten Sie X um auf den X-Server des Host-Betriebssystems: "export DISPLAY=<ip.des.host.pcs>:0" .
Fügen Sie den Host-Rechner zur Liste der vertrauten/bekannten Hosts hinzu: "xhost +<ip.des.host.pcs>"
Nun sollten Sie per "xinit" (*nicht* startx !) in der Lage sein in Ihre X Umgebung zu wechseln samt WindowManager.
Falls das nicht funktioniert müssen Sie Ihren WindowManager in die "~/.xinitrc" eintragen auf dem virtuellem PC.
Wenn alles klappt kümmert Sich der Rechner auf dem X-Server (meist ein Windows Rechner ;P ) selbst um die Fenster/Grafikdarstellung und nicht mehr VMWare welches bekanntermassen damit Probleme hat.
Nun kümmert sich Ihr Host-OS um die Grafik und Ihr VMWare nur um alles andere.
Für Leute die gerne 3D Grafiken x-forwarden möchten hier ein besonderes Schmankerl => http://virtualgl.sourceforge.net/
Mehr Leistung holt Ihr aus eurer VMware nicht raus.
Kapitel 2 = WindowsXP:
Emulieren von WindowsXP/2000/2003 Server Betriebsystemen.
Hier gibts in jedem Fall VMTools zum installieren um mächtig viel Performance rauszuquetschen.
Aber auch hier geht es einfacher:
Remote-Login aktivieren wer sich traut.
Im Remote Verbindungsfenster wird alle Grafik auf dem Host OS berechnet,
der virtuelle PC leitet nur die Grafiken weiter (wie beim X-forward unter Linux) und muss sie somit nicht selbst zeichnen.
Das dürfte nochmals ein paar Prozent Performance rausquetschen.
Kapitel 3 = Allgemein.
Benutzen Sie beim erstellen einer virtuellen Festplatte wenn möglich "Accolate diskspace now".
Das hat unter anderem den Vorteil dass Ihr System vorallem langfristig schnell bleibt, da diese Option die Fragmentierung der Festplatte unter Windowsrechnern minimiert.
Dieser Beitrag unterliegt dem Urheberrecht.
Anwendung der hier beschriebenen Vorschläge nur auf eigenes Risiko.
Das wars.
Anmerkungen ? Verbesserungsvorschläge ? => Ich wäre dankbar.
PS: Ich bin neu (im Forum, nicht in VMWare ;) ).
EDIT: Wer Rechtschreibfehler findet darf sie behalten!!! :D