I recently ran into the problem of NOT being able to set more than one cpu (core) in virtualbox for vagrant.  I am running Ubuntu 12.10 64 bit server edition on the VM. Turns out i needed to add a flag and turn –ioapic on.

VBoxManage modifyvm <VM_Name> –ioapic on

Thus, inside my Vagrantfile (config file), I have something like the following.

Vagrant::Config.run do |config|
  config.vm.box = "ubuntu64-12.10"
  config.vm.customize ["modifyvm", :id, "--name", "cloud1"]
  config.vm.customize ["modifyvm", :id, "--memory", "4096"]
  config.vm.customize ["modifyvm", :id, "--cpus", "2"]
  config.vm.customize ["modifyvm", :id, "--ioapic", "on"]
end

 

 

source: http://forums.freebsd.org/showthread.php?t=17650