I don't know how much RAM is available on your host, but if you have enough, I would advise you to select the feature Memory trimming:
Following line MemTrimRate = "0" can be add in vmx file of your VM.
I guess you installed VMWare tools on the client / Ran a defrag ?
Also, Are you sure your VM is not swapping a lot because of a process ?
Hoped it helped.
It DID the trick!!
Wow!!! Niiiiice!!! IdeCable is doing the happy dance now.
Now I get to see the real performance of my vm now.
I was \*this* close to switch my host OS to windowze. lol.
Thx bigtime buddy!!
mainMem.useNamedFile = "FALSE"
is another good one, especially if you have large amounts of RAM assigned to the guest.
Nick, I tested this one in the past, but not sure if it was really improving the performances, can you tell me more on this setting ?
If you don't set this option, VMware creates a .VMEM file in the Virtual Machines directory that is the same size as the memory you have assigned to the VM. VMware uses this file to swap memory in and out to the disk. While low memory VMs (less than 512MB, let's say - I don't know what the exact number is) may deal with this okay it can cause lots of disk I/O on higher-memory VMs. I've run VMs on VMware Server with 2 to 3GB of RAM and putting this line in the VMX file to disable the VMEM file is the only way I've seen decent performance on these VMs.
can we have both options enabled at the same time??
what other performance tweaks is there for VMware Server??
From my host OS side, I barely use any of my swap (3.6megs out of 8gig). I have 4Gigs of ram and my vm is taking 3.6 gigs.
Message was edited by:
I am testing out the mainMem.useNamedFile = "FALSE" setting right now.
Yes, you can do both at the same time. Like I said, the useNamedFile option that I mentioned seems to help most when the VMs have large amounts of memory assigned to them (more than 512MB of RAM, in my experience). The memory trimming option should help out in most situations.
Performance is awsome now.
I first had a virtual machine created using a uniprocessor pc. Now I am sitting at a AMD X2 server.
I am looking forward to see if I can make my Windows 2000 Server installation get two cpus (without reinstalling the OS) I use SQL 2000 over it (our newest production server). I saw a post showing how to add a second virtual cpu to the VM (for 2003 Server).
I have a feeling I would have to re-create my vm from scratch to fully benifit from the SMP.
I saw in many posts people saying that SMP is not always the best thing to do.. But I am still willing to give it a shot to see if it would make a positive change.
My host OS runs a Samba server as well. So far, I've been having my host OS giving one CPU for the VM and the other CPU for the other services this Linux box is giving to our network.
Should I keep my VM as a one virtual cpu only??
My experience is useNamedFile option improves I/O a lot with all VMs (large or small memory, Windows or Linux). Trimmimg memory option doesn't help much. It looks like I need to revisit the trimming memory option.
I understand perfectly that it is interesting to remove I/O because of virtual memory of VM.
But what I can't figure is:
- Why even if we keep the .vmem files, RAM used is the RAM set for the VM ?
- Why do this setting is not integrated in the GUI of VMWare Server ?
- If this setting improve performances for most of machines why is it disabled by default ?
I also found that this setting was making the machine better, but I can't figure why it is so "secret" .
Have a good day !
"but if you have enough, I would advise you to select the feature Memory trimming"
How much is "enough" memory?
I have 8gb; 4gb of which is reserved for the guest. I am running 2 guests, but may run 3 in the future.
That depends on how many guests you're trying to run on the host. If you have 4GB of memory and you want to run 4 guests with 512MB memory each, you have "enough" memory that you can turn memory trimming off. If you have 4GB of memory and want to run 4 guests with 1024MB of memory each, you probably need to leave it on so that VMware can deallocate memory from the VMs that they aren't using.
mainMem.useNamedFile = "FALSE"
is another good one, especially if you have large
amounts of RAM assigned to the guest.
I've tried this but ran into a snag: I've got three 2GB Linux VMs running on a Linux host with 8GB. When using this setting, the VMs started using /tmp to store their files and quickly ran out of space causing each VM to crash hard. My /tmp is only 2G in size.
Is there a way to to tell VMWare Server \*not* to use /tmp when using this setting, or should I just symlink /tmp/vmware-root to a partition with plenty of space?