As razões para limitar a utilização de a quantidade de CPU irá utilizar uma máquina virtual pode ser variada. Um exemplo poderia ser a de ter várias máquinas virtuais rodando simultaneamente e controlá-los de modo que o desempenho do sistema não cair drasticamente. Caso contrário, uma máquina virtual pode levar algum tempo de CPU, tanto quanto necessário para reduzir o desempenho de outras VMs e do próprio anfitrião.

De preferência, queria o controle sobre as máquinas virtuais fixos e percentual semelhante ao que VPS hospedagem web oferecidos base. Isto é, algo como megahertz controlo da CPU virtual, em vez de em por cento.

Assim, o controle sobre a CPU é baseada em um percentual de host virtual da CPU. Vamos ver como fazer isso.

Através do VirtualBox GUI si não tem controle sobre esse recurso. Precisamos executar o comando VBoxManage de um terminal.

Abra um terminal de Aplicações -> Acessórios -> Terminal ou pressionando CTRL + ALT + T simultaneamente.

A perspectiva que eu acho que é interessante quando as máquinas virtuais estão em execução, mas também pode limitar o uso da CPU de máquinas virtuais antes de iniciar a sua execução.

Limite de execução da CPU

Para executar máquinas virtuais irão utilizar o seguinte comando:

VBoxManage list runningvms

VBoxManage é o comando para assumir o controle do VirtualBox, e list runningvms mostra uma lista de máquinas virtuais em execução. No meu caso mostra:

"u1010" {0f086fe3-35a9-4162-b9da-708c11b49abc}

Uma máquina de execução, nome seguido do seu ID U1010. Ubuntu Desktop é um Maverick 10,10.

Agora que sabemos como é chamada a máquina virtual pode assumir o controle. O seguinte comando irá limitar o uso de CPU a 25%:

VBoxManage controlvm u1010 cpuexecutioncap 25

O pessoal do comando a ser executado seria:

VBoxManage controlvm nombrevm cpuexecutioncap cpu%

Nombrevm Onde está o nome do monitor de máquina virtual e percentual de CPU de 1-100% de tempo de CPU.

Máquinas CPU limite desativado

De forma semelhante ao acima irá listar os hosts de máquinas virtuais do VirtualBox. De um terminal execute:

VBoxManage list vms

"arch32" {cb6b291a-4151-47a1-8f85-c0c0810a16fe}
"u1010" {0f086fe3-35a9-4162-b9da-708c11b49abc}

Vemos duas máquinas virtuais. Para limitar o uso da CPU usaria o comando seguinte modelo:

VBoxManage modifyvm nombrevm --cpuexecutioncap cpu%

Por exemplo, para limitar a máquina CPU 75% virtual com Ubuntu 10.10 (que é chamada U1010) iria executar o seguinte comando:

VBoxManage modifyvm u1010 --cpuexecutioncap 75

Na linha de comando que você tenha o controle completo de máquinas virtuais do VirtualBox. Você pode começar a congelar ou desligado. Variando características ou como pode ser visto nesta entrada dos recursos da CPU que eles usam. Isto torna mais fácil de preparar alguns roteiros para aproveitar ao máximo o VirtualBox.

O teste foi usado o VirtualBox 4,04 no Ubuntu 4.10 64 bits.