Patrick Proniewski:
> On 10 oct. 2010, at 02:41, Wietse Venema wrote:
> 
> > Postfix daemons terminate voluntarily when they receive no request
> > for $max_idle seconds.  The watchdog timer is a safety mechanism;
> > it terminates a process when it appears to hang. 
> > 
> > The $max_idle timer uses select(2), poll(2), epoll(3) or /dev/poll
> > depending on the operating system type and version. Failure of this
> > timer is usually a symptom of virtualization bugs. 

On FreeBSD it will use select(2) (Postfix < 2.4) or kqueue(2).

> That's interesting! Thank you. The FreeBSD server running those postfix is
>- a virtual machine on top of VMWare ESXi, and running VMWare Tools. 
> I'll try to get some support from VMWare (and FreeBSD users), but if someo
>-ne here has an idea (vmware issue? bios tuning? freebsd tuning?...) I'd be h
>-appy to read about it.

You most likely suffer from the infamous "lost timer interrupt"
problem that many virtual environments suffer from.

Virtual machine monitors (including VMware) are known to cheat with
timer interrupts, because it is incredibly expensive to deliver a
thousand interrupts a second to each guest machine, and it is very
hard to deliver those interrupts always at the right time.

You can try to make your guest machine more VMware-friendly by
reducing the kernel clock interrupt frequency. With FreeBSD guests
you can reduce the kernel clock interrupt frequency without
recompiling the kernel. This requires a reboot (FreeBSD can't change
the kernel clock frequency on-the-fly with the sysctl command).

/boot/loader.conf
kern.hz="100"

By reducing the interrupt rate in the guest (and by increasing it
in the host) I keep the system clock sane on guests without having
to rely on VMware- or VirtualBox-specific drivers in the guest
machine. Instead it's sufficient to run NTP. But I must admit that
I rarely run a guest machine long enough that any watchdog timer
could go off. I use them primarily for testing.

I don't know if this will help in your particular case. But, with
a lower over-all interrupt rate for the system, it will be less
likely to lose an interrupt (assuming that the other guest machines
also reduce their timer interrupt rates).

See also: http://www.vmware.com/files/pdf/Timekeeping-In-VirtualMachines.pdf

        Wietse

Reply via email to