Назад | Перейти на главную страницу

Следует ли использовать APIC на виртуальных машинах?

Я предоставляю несколько виртуальных машин VMware и Virtualbox, 32- и 64-разрядных, и все мои загрузочные команды начинаются с /install/vmlinuz noapic.

Поиск информации об APIC и т. Д. В Интернете не дает мне четкого ответа, когда использовать APIC или нет.

Зависит ли это от количества ядер ЦП, установленных на машине?
Следует ли отключать APIC при использовании на виртуальных машинах?
Зависит ли это от специальных функций, поддерживаемых ЦП?
Имеет ли значение, 32- или 64-битная ОС / машина?
APIC - это вообще плохо, потому что по-прежнему нестабильный?
Имеет ли значение настройка noapic в команде загрузки или виртуализатор все равно отменит это?

Я читал, что при включенном APIC могут возникать некоторые проблемы, связанные с гибернацией / загрузкой и т. Д., Но, с другой стороны, я также читал, что в настоящее время современные машины / ОС хорошо поддерживают APIC.

Большое спасибо за ваш отзыв об этом!

На дворе 2013 год, и практически нет веских причин для отключения APIC, и достаточно веских причин для его включения.

Возможно, это не было правдой 15 лет назад, когда APIC был новым и не очень хорошо реализовывался различными поставщиками оборудования, но это было не так в течение очень долгого времени.

Объяснение Microsoft (с 2003 года!) это, вероятно, лучшее, что я могу вам дать, и я удивлен, что вы не нашли его, так как на него была ссылка со страницы Википедии на APIC.

По сути, APIC является значительным улучшением по сравнению со старой системой обработки прерываний ПК, которая восходит к 1980-м годам, позволяя использовать больше прерываний и меньше их разделять. Это приводит к повышению производительности и возможности использования большего количества периферийных устройств, причем оба эти утверждения верны независимо от того, является ли машина физической или виртуальной.

Практическое правило: APIC всегда должен быть включен, если нет особой причины для его отключения, например, использование древний оборудования или виртуализации старой системы NT / 2000 с помощью не-APIC HAL.