# gentoo in einer vmware

## pieter_parker

benutze den vmware-server 2.0.2, hab eine 4 kern cpu, 8 gig ram und schnelle sata festplatten

hab eine vm angelegt mit 1024 mb ram, 2 cpu kernen, und einer 24 gig scsi platte

hab darin gentoo mit kernel 2.6.31 laufen, die geschwindigkeit der vmware ist sehr bescheiden

ändere ich die config dieser vm am host so das die vm nur noch 1 cpu hat läuft die vm deutlich besser

lasse ich ein debian mit 2.6.26er kernel und 2 cpu kernen laufen läuft es optimal

woran könnte es liegen das mit gentoo und 2 cpu kernen in einer vmware der netzwerk durchsatz, die cpu leistung so schlecht sind ?

----------

## bbgermany

Hi,

laufen die Debian und die Gentoo VM gleichzeitig? Ist die Performance in der Gentoo VM auch so schlecht, wenn du eine VCPU in der Debian VM abschaltest? Wenn nein, dann schau dir mal den VMWare User Guide an. Dort steht was interessantes zu VCPU (Seite 278): http://www.vmware.com/pdf/vmserver2.pdf

MfG. Stefan

----------

## pieter_parker

nein die debian vm beeinflusst die gentoo vm nicht da ich sie immer nur einzeln laufen hatte, nie beide zeitgleich

naja aber es ist doch schon etwas merkwuerdig das es mit debian und 2 vcpu prima funktioniert und mit gentoo und 2 vcpu probleme macht

----------

## pieter_parker

was muss ich in gentoo besonderes einstellen damit es in einer 2 vcpu vmware besser laeuft ?!

----------

## tazinblack

 *pieter_parker wrote:*   

> was muss ich in gentoo besonderes einstellen damit es in einer 2 vcpu vmware besser laeuft ?!

 

Siehst Du unter /pro/cpuinfo denn beide vcpus?

Also ich würde sagen, Du brauchst alles das im Kernel, was Du bei ner physikalischen 2 CPU oder Dualcore Kiste auch brauchst.

Also SMP und so Zeugs.

----------

## pieter_parker

ja, unter /pro/cpuinfo sind beide vcpu kerne da

naja ich hab die standart kernelconfig wie sie voreingestellt ist im gentoo

ich hab lediglich von pentium pro auf core 2 umgestellt und habe die lsi scsi treiber mit * reingebaut damit es mit der festplatte funktioniert

das wars

----------

## firefly

 *pieter_parker wrote:*   

> ja, unter /pro/cpuinfo sind beide vcpu kerne da
> 
> naja ich hab die standart kernelconfig wie sie voreingestellt ist im gentoo
> 
> ich hab lediglich von pentium pro auf core 2 umgestellt und habe die lsi scsi treiber mit * reingebaut damit es mit der festplatte funktioniert
> ...

 

eventuell hat vmware performance probleme, wenn der kernel für core 2 optimiert ist.

----------

## pieter_parker

wenn er wie voreingestellt auf pentium pro steht ist es unveraendert

----------

## bbgermany

Hi,

du sagtest, dass dein Debian flott ist. Hast du dort vielleicht eine config.gz im /proc Verzeichnis? Dann könntest du vielleicht ein paar Einstellungen in deinen Gentookernel übernehmen. Interessant wäre auch, welche Kernelversionen bei dir laufen (also Version von Debian und die von Gentoo).

MfG. Stefan

----------

## AmonAmarth

was interessant wäre:

was ist bei "Preemption Model" und was bei "Timer frequency" gesetzt?

----------

## pieter_parker

ne eine config.gz finde ich nicht im system

auch in /usr/src/ gibts keinen kernel und keine config

im debian laeuft ein 2.6.26-2-686 kernel

im gentoo das mit 2 vcpu probleme hat hab ich 2.6.30, 2.6.31, 2.6.32 ausprobiert gehabt

ich glaube aber weniger das es an der kernel version liegt, sondern vielmehr das es eine einstellungssache ist

bei gentoo hab ich es mit den openvm-tools probiert, den orginalen von vmware und ohne, jeweils unveraendert

beim debian laufen garkeine vmware-tools

----------

## pieter_parker

ich hab jetzt von beiden systemen die kernel config dateien mir in ein verzeichnis auf meinem pc kopiert

debian_config_2.6.26-2-686

gentoo_config_2.6.32-r7

irgendwie muesste ich jetzt mir grep alle # zeilen rausfiltern und die ausgabe mit diff vergleichen

grep -v  ^#  gentoo_config_2.6.32-r7 | grep -v ^$

grep -v ^# debian_config_2.6.26-2-686 | grep -v ^$

damit krieg ich jedenfalls schonmal eine ausgabe ohne # und leerzeilen

aber wie vergleiche ich die beiden ausgaben nun um zu sehen wo die unterschiede sind ?

zu "preemption model" und "timer frequency" finde ich so in den beiden dateien nichts

heissen die optionen in den kernel config dateien eventuel anders ?

----------

## Duncan Mac Leod

 *pieter_parker wrote:*   

> ich hab jetzt von beiden systemen die kernel config dateien mir in ein verzeichnis auf meinem pc kopiert
> 
> debian_config_2.6.26-2-686
> 
> gentoo_config_2.6.32-r7
> ...

 

Wir haben mehrere Gentoo in einer VMware (parallel) laufen ohne Timing-Probs. -> war ein sehr langer Weg und ich habe kaum noch Haare auf dem Kopf  :Wink:  ...

1. Trage in dein VMware-Config. File folgende (kaum dokumentierte  :Wink:  ) Parameter ein:

host.cpukHz = "2000000"

hostinfo.noTSC = "TRUE"

tools.syncTime = "TRUE"

host.TSC.noForceSync = "TRUE" 

prefvmx.useRecommendedLockedMemSize = "TRUE"

In der ersten Zeile die kHz auf die CPU anpassen -> in meinem Beispiel ist es ne 2.0 GHz CPU!

2. In der VMware NUR 1 CPU auswählen (egal, ob Dual/Quad, etc.) !!!

3. Compilier deinen Kernel mit ner Interrupt Rate von 100 Hz, setze Pre-Empting auf CONFIG_PREEMPT_NONE UND disable auch jegliche Multi-Processor Features (SMP/HT) !

4. Füge in deinem Boot-Loader zwei Parameter beim Kernel hinzu: clocksource=acpi_pm elevator=noop

5. Installiere im Client (Gentoo) die Open VM Tools -> http://open-vm-tools.sourceforge.net/ (sind auch im Portage tree: emerge app-emulation/open-vm-tools) !

so - und wenn du einen AMD DualCore hast und noch dazu WinXP/Windows 2003 Server  :Wink:  sind noch weitere Steps nötig (hab ewig getestet)...

NUR für AMD DualCore/WinXP u. Win2003Server:

6. hol dir einen Processor Driver von AMD: http://support.amd.com/us/Pages/dynamicDetails.aspx?ListID=c5cd2c08-1432-4756-aafa-4d9dc646342f&ItemID=173

7. dann AMDs DualCore Optimizer -> http://support.amd.com/us/Pages/dynamicDetails.aspx?ListID=c5cd2c08-1432-4756-aafa-4d9dc646342f&ItemID=153

Alles getestet -> meine Gentoos unter Win2K3 Server laufen vom Timing her perfekt auf die Sekunde - hab 7 Monate lang das ausgetüftelt  :Cool:  !

bye,

Duncan

----------

## pieter_parker

in vmware agb steht nichts von haarausfall :D

danke fuer die vielen tips, ich werde probieren und berichten

hab nur intel cpus

1. ist klar

2. du meinst im vmware-server 2 beim erstellen eines vm-gast ? wenn du vm-gast meinst, wo ?

3. und 4. beziehen sich auch jeweils auf den vm-gast ?

----------

## Duncan Mac Leod

 *pieter_parker wrote:*   

> in vmware agb steht nichts von haarausfall 
> 
> danke fuer die vielen tips, ich werde probieren und berichten
> 
> hab nur intel cpus
> ...

 

ja 2. bezieht sich auf die VMware config, sodass VMware nur 1 virtuelle CPU benutzt - in echt (z.b. auf einem Quad) werden alle CPUs verwendet, um die 1 virt. CPU zu füttern -> hast keinen Nachteil im Client, wenn nur 1 virt. CPU eingestellt ist!

3. und 4. ja, beziehen sich auf Gentoo (Client)

Viel Glück!

----------

## pieter_parker

```
host.cpukHz = "2000000"

hostinfo.noTSC = "TRUE"

tools.syncTime = "TRUE"

host.TSC.noForceSync = "TRUE"

prefvmx.useRecommendedLockedMemSize = "TRUE" 

```

mit den optionen in der .vmx datei von der vmware maschiene mit gentoo, laesst sie sich nicht mehr starten

am server selbst kann ich es derzeit noch nicht testen weil da zuviel laeuft das ich nicht beenden kann

es war eingestellt :

Preemption Model (Voluntary Kernel Preemption (Desktop))  ---> 

ich habe es umgstellt auf :

Preemption Model (No Forced Preemption (Server))  --->  

war

timer frequenzy war 1000

ist

timer frequenzy war  100

war

High Memory Support (4GB)  --->

ist

High Memory Support (off)  --->

war

[*] SMT (Hyperthreading) scheduler support

ist

[ ] SMT (Hyperthreading) scheduler support

verbesserungen habe ich schon jetzt festgestellt, der cpu verbrauch von den laufenden diensten und programmen hat abgenommen

yuhu

bin mir aber unsicher ob du mit der option "Interrupt Rate" -> timer frequenzy meintest ?

CONFIG_PREEMPT_NONE=y

hab ich jetzt jedenfalls in der config vom kernel stehen

das soweit richtig ?

:edit

aber warum laeuft es mit 2 vcpu immer noch so bescheiden

hab der vmware nun 2 vcpu gegeben und stelle fest das es wieder oder besser gesagt immer noch schlecht laeuft

das neuste ubuntu z.b. dagegen mit 2.6.32er kernel und 2 vcpu laeuft super

warum tut das gentoo nicht auch ?

was ist an gentoo anders als an ubuntu ?

----------

## Duncan Mac Leod

Du MUSST schon ALLE SCHRITTE umsetzen!!! Sonst gibt's immer Probs.!

Ich habe es auf den 'alten' VMware Servern 1.8x getestet, auf den neuen 2.x und auf VMware Workstation 7 -> Timing läuft auf die Millisekunde perfekt!

Getestet auf DualCore AMD Athlon 64 X2 2,0 GHz (3600+), auf DualCore 2 Duo Intel E6600 2,4GHz (sogar hier mit 3 VMware Gentoos GLEICHZEITIG), auf DualCore 2 Duo Centrino 1,83GHz und auf Quad Centrino Q9000 2.0GHz! Geht IMMER!

Du brauchst die Config in der VMware => ACHTUNG: stelle kHz RICHTIG auf Deine CPU ein!

Vergiss nicht die Kernel Boot Params: clocksource=acpi_pm elevator=noop !

UND GAAANZ WICHTIG: nimm IMMER NUR 1 VCPU, NIE 2 (bringt eh' nix -> NUR Ärger) !!!!!

HTH,

Duncan.

EDIT: NUR bis Kernel 2.6.30-gentoo-r6 getestet -> nicht höher !

----------

## pieter_parker

naja ok aber warum laeuft ein debian oder ubuntu mit 2 vcpu besser als ein gentoo mit 2 vcpu

wasist an gentoo anders das es bei 2 vcpu schlechter laeuft ?

----------

## bbgermany

 *pieter_parker wrote:*   

> naja ok aber warum laeuft ein debian oder ubuntu mit 2 vcpu besser als ein gentoo mit 2 vcpu
> 
> wasist an gentoo anders das es bei 2 vcpu schlechter laeuft ?

 

Andere Kernelpatche bzw. weitere/weniger? Anderer Compiler? Andere Systemtools (Version)? Binärdistro vs. Sourcedistro?

Das kann viele Gründe haben.

MfG. Stefan

----------

