Seite 1 von 1

Performance Probleme (taskmgr.exe 100% load)

Verfasst: 12.02.2010, 16:19
von cmue
Hallo,
wir haben hier einen Windows 2003 RC2 x64 Enterprise mit 16 GB Ram und QuadCore 2,6 GHz am laufen.

Derzeit laufen 5 VM's

2x Windows XP (laufen performant, keine Probleme)
1x Linix Debian Webserver (ebenfalls keine Probleme)

1x Windows 2003 Standard (taskmgr.exe 100% load)
1x Windows 2008 RC2 (ebenfalls 100% load vom taskmgr.exe)

Woran mag das liegen? Zwei vollkommen unterschiedliche Systeme mit dem gleichen Problem?

Die Server Konfig wurde nicht berührt, aktuellste VMWare 2 Version, VMTools installiert, alles andere läuft 1a, um nicht sogar zu sagen... richtig schnell! Alle VMDienste wurden schon neugestartet, der Host auch. Dieser hat übrigends auch keine Probleme, läuft alles fix.

Nur die beiden Server machen Probleme, dabei läuft auf dem 08er aktuell kein aktiver Dienst, es ist unser alter roaming Profile Server, wo aber nur noch 2 Personen alle paar Tage mal was speichern. Der 2003er ist unser Kaspersky Server, der an sich auch so gut wie nix zu tun hat.

Gruß
CMue

Verfasst: 12.02.2010, 16:21
von continuum
vielleicht zuviele vCPUs ?

poste mal vmware.logs von den problem-maschinen

Verfasst: 12.02.2010, 16:35
von cmue

Verfasst: 12.02.2010, 17:10
von continuum
kannst du nicht ifile.it nehmen - keine Lust 2 minuten zu warten :(

Verfasst: 12.02.2010, 18:00
von Dayworker
...und dazu will das Teil auch Scripting eingeschaltet haben. :(

Verfasst: 16.02.2010, 08:26
von cmue
Hallo,
ich habs jetzt hier hochgeladen:

http://ifile.it/ge3iprn/vmware.zip

Danke für die Hilfe!

Verfasst: 16.02.2010, 12:27
von cmue
Ich habe das ganze jetzt mal beobachtet mit den PSTools von MS.

vom Lokalen Rechner lasse ich mir alle laufenden Prozesse von den Server in einer Shell anzeigen.

Das jeweilige Programm, dass ich auf dem Server gerade bediene zieht konstant 100% last.

Wenn ich den Taskmanager starte, halt der taskmgr
Wenn es der Explorer ist: explorer.exe usw.

Verfasst: 16.02.2010, 15:33
von Dayworker
Ich kann dir bei Server irgendwie nicht folgen. Von welchem Server sprichst du?
Zur Auswahl stehen der VMserver, also der Host und deine VMs mit einem Server-OS als Gast.

[edit]
Du Wahnsinniger, eine 14MB Log-Datei... und ich dachte, es wären mehrere Logs...
Feb 10 17:21:59.953: vmx| DICT --- HOST DEFAULTS
Feb 10 17:21:59.953: vmx| DICT authd.client.port = 902
Feb 10 17:21:59.953: vmx| DICT authd.proxy.vim = vmware-hostd:hostd-vmdb
Feb 10 17:21:59.953: vmx| DICT authd.proxy.nfc = vmware-hostd:ha-nfc

Feb 10 17:21:59.953: vmx| DICT --- SITE DEFAULTS
Feb 10 17:21:59.953: vmx| DICT authd.client.port = 902
Feb 10 17:21:59.953: vmx| DICT authd.proxy.vim = vmware-hostd:hostd-vmdb
Feb 10 17:21:59.953: vmx| DICT authd.proxy.nfc = vmware-hostd:ha-nfc
Feb 10 17:21:59.953: vmx| DICT --- COMMAND LINE
Feb 10 17:21:59.953: vmx| DICT --- CONFIGURATION
Feb 10 17:21:59.953: vmx| DICT config.version = 8
Feb 10 17:21:59.953: vmx| DICT virtualHW.version = 7
Feb 10 17:21:59.953: vmx| DICT floppy0.present = FALSE
Feb 10 17:21:59.953: vmx| DICT mks.enable3d = TRUE
Feb 10 17:21:59.953: vmx| DICT pciBridge0.present = TRUE
Feb 10 17:21:59.953: vmx| DICT pciBridge4.present = TRUE
Feb 10 17:21:59.953: vmx| DICT pciBridge4.virtualDev = pcieRootPort
Feb 10 17:21:59.953: vmx| DICT pciBridge4.functions = 8
Feb 10 17:21:59.953: vmx| DICT pciBridge5.present = TRUE
Feb 10 17:21:59.953: vmx| DICT pciBridge5.virtualDev = pcieRootPort
Feb 10 17:21:59.953: vmx| DICT pciBridge5.functions = 8
Feb 10 17:21:59.953: vmx| DICT pciBridge6.present = TRUE
Feb 10 17:21:59.953: vmx| DICT pciBridge6.virtualDev = pcieRootPort
Feb 10 17:21:59.953: vmx| DICT pciBridge6.functions = 8
Feb 10 17:21:59.953: vmx| DICT pciBridge7.present = TRUE
Feb 10 17:21:59.953: vmx| DICT pciBridge7.virtualDev = pcieRootPort
Feb 10 17:21:59.953: vmx| DICT pciBridge7.functions = 8
Feb 10 17:21:59.953: vmx| DICT vmci0.present = TRUE
Feb 10 17:21:59.953: vmx| DICT nvram = sofax.nvram
Feb 10 17:21:59.953: vmx| DICT virtualHW.productCompatibility = hosted
Feb 10 17:21:59.953: vmx| DICT ft.secondary0.enabled = TRUE
Feb 10 17:21:59.953: vmx| DICT tools.upgrade.policy = useGlobal
Feb 10 17:21:59.953: vmx| DICT powerType.powerOff = soft
Feb 10 17:21:59.953: vmx| DICT powerType.powerOn = hard
Feb 10 17:21:59.953: vmx| DICT powerType.suspend = hard
Feb 10 17:21:59.953: vmx| DICT powerType.reset = soft
Feb 10 17:21:59.953: vmx| DICT displayName = sofax
Feb 10 17:21:59.953: vmx| DICT extendedConfigFile = sofax.vmxf
Feb 10 17:21:59.953: vmx| DICT scsi0.present = TRUE
Feb 10 17:21:59.953: vmx| DICT scsi0.sharedBus = none
Feb 10 17:21:59.953: vmx| DICT scsi0.virtualDev = lsilogic
Feb 10 17:21:59.953: vmx| DICT memsize = 2048
Feb 10 17:21:59.953: vmx| DICT scsi0:0.present = TRUE
Feb 10 17:21:59.953: vmx| DICT scsi0:0.fileName = sofax-000001.vmdk
Feb 10 17:21:59.953: vmx| DICT scsi0:0.writeThrough = TRUE
Feb 10 17:21:59.953: vmx| DICT ide1:0.present = TRUE
Feb 10 17:21:59.953: vmx| DICT ide1:0.fileName =
Feb 10 17:21:59.953: vmx| DICT ide1:0.deviceType = cdrom-image
Feb 10 17:21:59.953: vmx| DICT ide1:0.allowGuestConnectionControl = FALSE
Feb 10 17:21:59.953: vmx| DICT ethernet0.present = TRUE
Feb 10 17:21:59.953: vmx| DICT ethernet0.allowGuestConnectionControl = FALSE
Feb 10 17:21:59.953: vmx| DICT ethernet0.features = 1
Feb 10 17:21:59.953: vmx| DICT ethernet0.wakeOnPcktRcv = FALSE
Feb 10 17:21:59.953: vmx| DICT ethernet0.networkName = Bridged
Feb 10 17:21:59.953: vmx| DICT ethernet0.addressType = generated
Feb 10 17:21:59.953: vmx| DICT guestOS = winnetstandard
Feb 10 17:21:59.953: vmx| DICT uuid.location = 56 4d 35 c3 03 df 4e c8-f8 c2 0f 48 0d 5b 5f 32
Feb 10 17:21:59.953: vmx| DICT uuid.bios = 56 4d 70 dc ee 85 f5 a6-45 1a 72 46 d2 0c 28 ec
Feb 10 17:21:59.953: vmx| DICT vc.uuid = 52 5d c0 47 67 ec 52 22-22 69 aa 14 24 e1 3c f6
Feb 10 17:21:59.953: vmx| DICT ethernet0.generatedAddress = 00:0c:29:0c:28:ec
Feb 10 17:21:59.953: vmx| DICT scsi0:0.redo =
Feb 10 17:21:59.953: vmx| DICT vmotion.checkpointFBSize = 134217728
Feb 10 17:21:59.953: vmx| DICT pciBridge0.pciSlotNumber = 17
Feb 10 17:21:59.953: vmx| DICT pciBridge4.pciSlotNumber = 21
Feb 10 17:21:59.953: vmx| DICT pciBridge5.pciSlotNumber = 22
Feb 10 17:21:59.953: vmx| DICT pciBridge6.pciSlotNumber = 23
Feb 10 17:21:59.953: vmx| DICT pciBridge7.pciSlotNumber = 24
Feb 10 17:21:59.953: vmx| DICT scsi0.pciSlotNumber = 16
Feb 10 17:21:59.953: vmx| DICT ethernet0.pciSlotNumber = 32
Feb 10 17:21:59.953: vmx| DICT vmci0.pciSlotNumber = 33
Feb 10 17:21:59.953: vmx| DICT ethernet0.generatedAddressOffset = 0
Feb 10 17:21:59.953: vmx| DICT vmci0.id = -770955028
Feb 10 17:21:59.953: vmx| DICT ide1:0.startConnected = TRUE
Feb 10 17:21:59.953: vmx| DICT tools.syncTime = TRUE
Feb 10 17:21:59.953: vmx| DICT usb.present = FALSE
Feb 10 17:21:59.953: vmx| DICT ehci.present = TRUE
Feb 10 17:21:59.953: vmx| DICT usb.pciSlotNumber = 34
Feb 10 17:21:59.953: vmx| DICT ehci.pciSlotNumber = 35
Feb 10 17:21:59.953: vmx| DICT usb:0.present = TRUE
Feb 10 17:21:59.953: vmx| DICT usb:1.present = TRUE
Feb 10 17:21:59.953: vmx| DICT usb:1.deviceType = hub
Feb 10 17:21:59.953: vmx| DICT usb:0.deviceType = mouse
Feb 10 17:21:59.953: vmx| DICT numvcpus = 1

Feb 10 17:21:59.953: vmx| DICT --- USER DEFAULTS
Feb 10 17:21:59.953: vmx| DICT --- HOST DEFAULTS

Deine Host-Config ist nicht wirklich umfangreich und mir sind die VMware-Voreinstellungen für den VMserver2.02 nicht bekannt.
Deine Gast-Config ist auch so ein Ding. Entscheidend für mich sind folgende fettgeschriebene Einträge:
Feb 10 17:22:00.078: vmx| DISK: OPEN scsi0:0 'e:\vmware\virtual-machines\sofax\sofax-000001.vmdk' persistent R[]
Feb 10 17:22:00.281: vmx| DISKLIB-DSCPTR: Opened [0]: "sofax-000001.vmdk" (0x2a)
Feb 10 17:22:00.281: vmx| DISKLIB-LINK : Opened 'e:\vmware\virtual-machines\sofax\sofax-000001.vmdk' (0x2a): monolithicSparse, 104857600 sectors / 50 GB.
Feb 10 17:22:00.359: vmx| DISKLIB-DSCPTR: Opened [0]: "sofax.vmdk" (0x2e)
Feb 10 17:22:00.359: vmx| DISKLIB-LINK : Opened 'e:\vmware\virtual-machines\sofax\sofax.vmdk' (0x2e): monolithicSparse, 104857600 sectors / 50 GB.
Feb 10 17:22:00.359: vmx| DISKLIB-LIB : Opened "e:\vmware\virtual-machines\sofax\sofax-000001.vmdk" (flags 0x2a).
Du nutzt nämlich eine Sparse-Disk also mitwachsende v.Disk und hast zusätzlich auch noch einen Snapshot angelegt. Sparse-Disks sollten laut unserem VMware-Guru Ulli am besten mindestens einmal die Woche geshrinkt werden, ansonsten verteilt sich die v.Disk einer VM quer über den gesamten Host-Datenträger und bei dir wird es höchste Zeit für das Shrinken. Ansonsten hättest du nicht folgende Einträge:
Feb 10 17:34:22.479: vmx| DISKLIB-LIB : numIOs = 50000 numMergedIOs = 4366 numSplitIOs = 2271
Feb 10 17:34:56.961: vcpu-0| Not caching pages 292545 through 292561 because of write on page 292561 on write.
Feb 10 17:35:36.985: vcpu-0| Not caching pages 641721 through 641737 because of write on page 641737 on write.
Feb 10 17:36:08.136: vcpu-0| Not caching pages 641785 through 641801 because of write on page 641801 on write.
Feb 10 17:36:39.646: vcpu-0| Not caching pages 641785 through 641801 because of write on page 641801 on write.
Feb 10 17:42:27.628: vcpu-0| Not caching pages 641753 through 641769 because of write on page 641769 on write.
Feb 10 17:46:41.238: vcpu-0| Not caching pages 641753 through 641769 because of write on page 641769 on write.
Feb 10 17:48:12.905: vcpu-0| Not caching pages 1869861 through 1869877 because of write on page 1869877 on write.
Feb 10 17:50:00.947: vmx| DISKLIB-LIB : numIOs = 100000 numMergedIOs = 8351 numSplitIOs = 5377
...
Feb 11 13:53:31.189: vcpu-0| DISKLIB-LIB : numIOs = 2250000 numMergedIOs = 59988 numSplitIOs = 43257
Feb 11 13:57:05.726: vcpu-0| Not caching pages 1797936 through 1797952 because of write on page 1797952 on write.
Feb 11 13:58:08.087: vcpu-0| Switching from cacheEntry to writeEntry on page 1798032
Feb 11 13:58:08.087: vcpu-0| Switching from cacheEntry to writeEntry on page 1798033
Feb 11 13:58:08.087: vcpu-0| Switching from cacheEntry to writeEntry on page 1798034
Feb 11 13:58:08.087: vcpu-0| Switching from cacheEntry to writeEntry on page 1798035
Feb 11 13:58:08.087: vcpu-0| Switching from cacheEntry to writeEntry on page 1798036
Feb 11 13:58:08.087: vcpu-0| Switching from cacheEntry to writeEntry on page 1798037
Feb 11 13:58:08.087: vcpu-0| Switching from cacheEntry to writeEntry on page 1798038
Feb 11 13:58:08.087: vcpu-0| Switching from cacheEntry to writeEntry on page 1798039
Feb 11 13:58:08.087: vcpu-0| Switching from cacheEntry to writeEntry on page 1798040
Feb 11 13:58:08.087: vcpu-0| Switching from cacheEntry to writeEntry on page 1798041
Feb 11 13:58:08.087: vcpu-0| Switching from cacheEntry to writeEntry on page 1798042
Feb 11 13:58:08.087: vcpu-0| Switching from cacheEntry to writeEntry on page 1798043
Feb 11 13:58:08.087: vcpu-0| Switching from cacheEntry to writeEntry on page 1798044
...
Feb 11 13:58:31.853: vcpu-0| Switching from cacheEntry to writeEntry on page 709678
Feb 11 13:58:33.916: vcpu-0| Not caching pages 377878 through 377879 because of write on page 377878 on write.
Feb 11 13:58:35.010: vcpu-0| Switching from cacheEntry to writeEntry on page 709733
...und die werden mehrfach die Sekunde geloggt. Damit ist also kein Blumentopf mehr zu gewinnen und die Performance im Keller.
Du hast also die 2 Baustellen:
  1. Snapshot beseitigen, denn Snapshots sind kein Backup und kosten Performance
  2. Sparse-Disk shrinken oder diese bei ausreichend Platz in eine Preallocated umwandeln, wobei regelmäßiges Shrinken je nach VM-Nutzung (viele Schreib-/Lesezugriffe) häufig schon ausreicht.

Verfasst: 19.02.2010, 11:58
von cmue
Wir installieren die betroffenen Virtuellen Server jetzt neu. Es kostet zuviel Zeit sich weiter mit der Problemlösung zu beschäftigen. Shrinken und SnapShot löschen hat leider keine Besserung gebracht.

Danke für die Hilfe bis hier.

Verfasst: 19.02.2010, 16:01
von Dayworker
Wenn die VMDKs zu stark verteilt bzw auf dem Host defragmentiert sind, hilft eigentlich nur noch eins. Ein "Committen" des Snapshots, anschließendes Shrinken, komplettes Kopieren des VM-Ordners an einen neuen Speicherort, Löschen des alten VM-Ordners, dann die Host-Platte aufräumen/defragmentieren und Verschieben des VM-Ordners an seinen alten Speicherort.

Neuaufsetzen geht natürlich auch und ist unter Umständen neben schneller auch vorteilhafter, da eventuelle Programmfehlinstallationen die Leistung des Gastes nicht mehr beeinträchtigen und dann auch keine Rückstände dieser mehr vorhanden sind. Ein nicht ganz unwichtiger Aspekt bei Windows. Linux wird darüber sicher auch erfreut sein.