Hi I'm running Debian GNU/kFreeBSD (kernel: 8.2 amd64) as a guest using
VirtualBox (4.0.12) on a Windows 7 Professional host. I also have several
other vms, including Debian GNU/Linux (kernel: 3.0.0 amd64). My physical
machine is an AMD 64-bit hexa-core with 12GB ram.

Now normally, when I have no vms running and my host machine is essentially
idle (only a few background processes running), my cpu reports between a
5-10% usage load. When I run my Debian GNU/Linux vm - in runlevel 1 - and
let both my guest and host idle (that is I run no foreground processes on
the host apart from the vm), my cpu reports between a 10-15% load. But when
I run my Debian GNU/kFreeBSD vm - in runlevel 1 - and let both my guest and
host idle, my cpu reports between a 20-25% load. (I ran each vm by itself
for this test).

I checked the Windows Task Manager (in both test cases), and found that the
vm process for the Linux guest was showing a 0% average cpu load when idle.
However, the vm process for the kFreeBSD guest showed a >0% cpu load when
idle (the actual load varied between 1-5% I believe).

I then read through the VirtualBox documentation and found this (what I
believe to be) relevant information:

"Some Linux guests may cause a high CPU load even if the guest system
appears to be idle. This can be caused by a high timer frequency of the
guest kernel. Some Linux distributions, for example Fedora, ship a Linux
kernel configured for a timer frequency of *1000Hz*. We recommend to
recompile the guest kernel and to select a timer frequency of 100Hz.

Linux kernels shipped with Red Hat Enterprise Linux (RHEL) as of release 4.7
and 5.1 as well as kernels of related Linux distributions (for instance
CentOS and Oracle Enterprise Linux) support a kernel parameter *divider=N*.
Hence, such kernels support a lower timer frequency without recompilation.
We suggest to add the kernel parameter *divider=10* to select a guest kernel
timer frequency of 100Hz"

So my question is how can I change the timer frequency of the kFreeBSD
kernel? Actually is there any way to confirm the timer frequency is the
issue? Does the FreeBSD kernel support the kernel parameter divider=N? If
so, how do I add that parameter? That is, where do I add it? If that
parameter is not supported, how do I recompile the kernel? Perhaps a variant
of the stock kernel, recompiled to fix this issue for at least those who run
kFreeBSD on VirtualBox, can be included in the package repository?

Thanks.

David Watson
e: [email protected]

Reply via email to