optimal kernel options for VMWARE guest system

John Nielsen lists at jnielsen.net
Wed Oct 4 08:55:51 PDT 2006

On Wednesday 04 October 2006 10:48, Jeff Dickens wrote:
> John Nielsen wrote:
> > On Tuesday 03 October 2006 12:58, Jeff Dickens wrote:
> >> I have some Freebsd systems that are running as VMware guests.  I'd like
> >> to configure their kernels so as to minimize the overhead on the VMware
> >> host system.  After reading and partially digesting the white paper on
> >> timekeeping in VMware virtual machines
> >> (http://www.vmware.com/pdf/vmware_timekeeping.pdf) it appears that I
> >> might want to make some changes.
> >>
> >> Has anyone addressed this issue?
> >
> > I haven't read the white paper (yet; thanks for the link), but I've had
> > good results with recent -STABLE VM's running under ESX server 3. Some
> > thoughts:
> >
> > As I do on most of my installs, I trimmed down GENERIC to include just
> > the drivers I use. In this case that was mpt for the disk and le for the
> > network (although I suspect forcing the VM to present e1000 hardware and
> > then using the em driver would work as well if not better).
> >
> > The VMware tools package that comes with ESX server does a poor job of
> > getting itself to run, but it can be made to work without too much
> > difficulty. Don't use the port, run the included install script to
> > install the files, ignore the custom network driver and compile the
> > memory management module from source (included). If using X.org, use the
> > built-in vmware display driver, and copy the vmmouse driver .o file from
> > the VMware tools dist to the appropriate dir under /usr/X11. Even though
> > the included file is for X.org 6.8, it works fine with 6.9/7.0 (X.org 7.1
> > should include the vmmouse driver.) Run the VMware tools config script
> > from a non-X terminal (and you can ignore the warning about running it
> > remotely if you're using SSH), so it won't mess with your X display (it
> > doesn't do anything not accomplished above). Then run the rc.d script to
> > start the VMware tools.
> >
> > I haven't noticed any timekeeping issues so far.
> >
> > JN
> > _______________________________________________
> What is the advantage of using the "e1000 hardware", and is this
> documented somewhere?  I got the vxn network driver working without
> issues; I just had to edit the .vxn file manually:  I'm using the free
> VMware server V1 rather than the ESX server.
>    ethernet0.virtualDev="vmxnet"

Not documented, just my opinion that the em(4) driver is probably a better 
performer than le(4), and the former has awareness of media speeds, etc. I 
actually haven't tried using the vxn network driver yet. My view could be 
tainted by old experiences with VMware Workstation 3 and the lnc(4) driver, 

> I've got timekeeping running stably on these.  I turn on time sync via
> vmware tools in the .vmx file:
>   tools.syncTime = "TRUE"
> and in the guest file's rc.conf start ntpd with flags "-Aqgx &" so it
> just syncs once at boot and exits.
> I'm not using X on these.  They're supposed to be clean & lean systems
> to run such things as djbdns and qmail.  And they do work well.
> My main goal is to reduce the background load on the VMware host system
> so that it isn't spending more time than it has to simulating interrupt
> controllers for the guests.  I'm wondering about the "disable ACPI" boot
> option.  I suppose I first should figure out how to even roughly measure
> the effect of any changes I might make.

So far I'm just experimenting with FreeBSD VM's in my spare time. Our 
only "production" VM's at the moment are Windows and a Fedora instance or 
two. It'd be nice if there were a central repository for some of these tips 
and other info. (Maybe there are threads on VMTN, I haven't really looked).


More information about the freebsd-questions mailing list