Por que devo habilitar o IO APIC no VirtualBox?

32

Quais são as vantagens de marcar a opção "Ativar IO APIC" no VirtualBox?

Embora eu não consiga encontrar nenhuma informação sobre vantagens ao pesquisar no Google, duas desvantagens são claras. Primeiro, ele pode interromper VMs do Windows mais antigas se for desabilitado após a instalação. Segundo, reduz o desempenho da VM. No entanto, notei que ele está ativado por padrão ao instalar o Ubuntu 64bit.

Abtin Forouzandeh
fonte

Respostas:

28

Aqui está a citação da documentação do VirtualBox :

Ativar APIC de E / S

Controladores de interrupção programáveis ​​avançados (APICs) são um recurso de hardware x86 mais recente que substituiu os controladores de interrupção programáveis ​​(PICs) de estilo antigo nos últimos anos. Com um APIC de E / S, os sistemas operacionais podem usar mais de 16 solicitações de interrupção (IRQs) e, portanto, evitar o compartilhamento de IRQ para maior confiabilidade.

Nota : A ativação do APIC de E / S é necessária para sistemas operacionais convidados de 64 bits, especialmente Windows Vista; também é necessário se você deseja usar mais de uma CPU virtual em uma máquina virtual.

No entanto, o suporte de software para E / S APICs não é confiável em alguns sistemas operacionais que não sejam o Windows. Além disso, o uso de um APIC de E / S aumenta um pouco a sobrecarga da virtualização e, portanto, diminui um pouco o SO convidado.

Aviso : Todos os sistemas operacionais Windows que iniciam no Windows 2000 instalam kernels diferentes, dependendo da disponibilidade de um APIC de E / S. Assim como na ACPI, a E / S APIC, portanto, não deve ser desativada após a instalação de um sistema operacional convidado do Windows. Ligá-lo após a instalação não terá efeito.

Além disso, você pode desativar a ACPI (Advanced Configuration and Power Interface) que o VirtualBox apresenta ao sistema operacional convidado por padrão. ACPI é o atual padrão do setor para permitir que os sistemas operacionais reconheçam hardware, configurem placas-mãe e outros dispositivos e gerenciem energia. Como todos os PCs modernos contêm esse recurso e o Windows e Linux o suportam há anos, ele também é ativado por padrão no VirtualBox. Pode ser desativado na linha de comando; e veja a seção “VBoxManage modifyvm”.

Goyuix
fonte
5
Você pode explicar o último parágrafo? Qual é o benefício de desativar a ACPI?
Matthew Flaschen
@ MatthewFlaschen: você tirou as palavras da minha mente.
Davi Lima
10

Pode ser necessário ao migrar uma máquina física para uma máquina virtual, se a máquina física tiver um IO APIC. A maioria das máquinas modernas faz.

Uma instalação padrão em um PC físico moderno ou VMware geralmente resultará na escolha do Halaacpi.dll, pois a maioria dos sistemas atualmente possui um IO APIC e o VMware optou por virtualizá-lo por padrão (o VirtualBox desativa o IO APIC porque é mais caro virtualizar do que um PIC padrão).

http://www.virtualbox.org/wiki/Migrate_Windows

Nic
fonte
2
Outra vantagem é que ele permite que você aloque mais de um processador virtual para sua VM convidada.
Goyuix
4

Infelizmente, tenho uma máquina antiga com apenas um processador Pentium D. Meu VirtualBox rodando no Fedora era HORRÍVEL. Vasculhei a internet procurando algo que melhorasse o desempenho. Encontrei um artigo que mostrava como desativar manualmente o APIC IO e, após executar o procedimento, fiquei impressionado com a melhoria acentuada (melhor que o dobro da velocidade) que obtive ao fazê-lo ...

Executando o Fedora Core 14 em um HP / Compaq dc7700 com memória 3G, executando o Virtualbox versão 3.2.10 r66523


fonte
0

Tendo tentado obter uma imagem restaurada Acronis de uma imagem física original para inicializar no Vbox - (XPSP3) - (Apenas exibe a mensagem 'não desligou corretamente' ... a cada inicialização), decidi selecionar o IO APIC opção (Configurações - Sistema - Placa mãe - Recursos estendidos - SELECT Ativar IO APIC) - sem realmente saber qual era sua função no Vbox. Depois que eu selecionei e reiniciei, a máquina deu vida e funcionou perfeitamente.

Espero que isto ajude.

Dave Walsh
fonte
-1

Como minha máquina não suporta APIC (o host é win 8.1 de 64 bits, o convidado é o Oracle Linux de 64 bits), eu estava entrando em pânico no sistema e não consegui inicializar completamente a máquina convidada.

Como alterei o número de CPUs no meu sistema convidado de 2X para 1X (eu tenho o total de 4X), consegui carregar totalmente minha máquina convidada.

ygivon
fonte
Obviamente, você deve ativar o IO APIC. Não há um bom motivo para desativá-lo.
Michael Hampton
Voto negativo, porque isso não parece responder à pergunta ou adicionar algo útil à discussão.
Andrew Schulman