VirtualBox network interfaces max pfsense cpu
I am running pfsense through virtualbox on a ubuntu 11.10 host.
It is an AMD 64 3500, with 2gb of ram. I have assigned pfsense 512mb of ram, and there are 2 dedicated NICs which are in bridge mode.
Now when pfsense is up and runnning it idles at %1-5 CPU usage in the pfsense. However when there is load from the ADSL2 Connection, which is only 16mb, the cpu usage goes to 100%.
On the host machine Virtualbox is only using about %30-45 cpu usage and the machine is only using about %50-60 cpu overall.
Both the em0 em1 interfaces use about the same cpu usage (%40-45 each) with the rest taken up by php etc.
I would have thought a AMD athlon 64bit 3500, even in virtualisation, would be more than enough to run on a small home network only dealing with a low mb ADSL connection?
There is no other load on the interfaces from the host machine.
Unfortunately, emulated I/O is very slow. When you select bridged networks, the virtual machine creates an emulated NIC for the guest. The only way to speed this up is to provide some form of driver within the guest that allows the device emulation to be removed.
I have a very similar setup (pfsense under VBox on a Ubuntu 11.04 host) and have noticed the very same behavior.
Apparently we'd have to wait for pfsense to move to FreeBSD 9.0 which has decent virtio net driver support.