12

Я столкнулся с проблемой 100% загрузки процессора под моей системой при запуске VirtualBox. Вот некоторые дополнительные детали:

Информация о моей системе:

Название процессора 1: Intel® R Pentium®® Dual CPU T2310 с частотой 1,46 ГГц
Размер кэш-памяти 1-го уровня CPU 1: 32K. 32K кеш инструкций.

Объем кэш-памяти 1-го уровня ЦП: 1024 КБ.
Процессор 1 Mips: 2926,20
Название процессора 2: Intel® R Pentium®® Dual CPU T2310 с частотой 1,46 ГГц
Размер кэша ЦП 2 уровня 1: 32 Кэш данных. 32K кеш инструкций.

Размер кэша ЦП 2 уровня 2: 1024К Унифицированный кеш.

CPU 2 Mips: 2925,96
64 битный процессор? Да!
Общий объем памяти: 2,0 ГБ
Всего подкачки: 6141 МБайт


Информация о моей операционной системе:

Версия ОС Kubuntu: 11.04
Версия ядра: 2.6.38-8-generic
Ядро арки: i686
Оболочка по умолчанию: /bin /bash


Настройки моего виртуального ящика:

Тип ОС: Windows XP
Видеопамять: 32 МБ
Ускорение: 3D
Базовая память: 512 МБ

Детали проблемы:

Что ж, каждый раз, когда я запускаю Windows XP из моего VirtualBox, я вижу использование процессора почти на 100%. У меня медленная работа системы, даже если на моей версии Windows XP не было запущено ни одной программы.

Мне было интересно, есть ли способ поиграть с настройками, чтобы я мог немного улучшить производительность. Мой компьютер относительно быстрый под моей операционной системой Linux. Мне нужно знать, есть ли некоторые советы, которым я могу следовать при настройке параметров моего VirtualBox, чтобы я мог добиться лучших результатов.

Любые предложения / идеи высоко ценятся!

2 ответа2

5

При разработке моего комментария выше T2310 не имеет расширений виртуализации (VT-x) в соответствии с таблицей данных вашего процессора по адресу http://ark.intel.com/Product.aspx?id=32431.

Из этой статьи в Википедии есть три основных момента, которые будут вызывать ощутимое снижение производительности ВМ (и, следовательно, увеличение использования ЦП на хосте:

  • Двоичный перевод используется для перезаписи определенных инструкций, таких как POPF, которые в противном случае могли бы молча терпеть неудачу или вести себя по-другому, когда выполняются выше кольца 0, что делает классическую виртуализацию «ловушкой и эмуляцией» невозможной. Для повышения производительности переведенные базовые блоки должны кэшироваться согласованным образом, который обнаруживает исправления кода (например, используемые в VxD), повторное использование страниц гостевой ОС или даже самоизменяющийся код.

  • Ряд ключевых структур данных, используемых процессором, должен быть затенен. Поскольку большинство операционных систем используют выгружаемую виртуальную память, и предоставление непосредственного доступа гостевой ОС к MMU означало бы потерю контроля со стороны менеджера виртуализации, часть работы MMU x86 должна дублироваться в программном обеспечении для гостевой ОС с использованием метода известный как таблицы теневых страниц. Это включает отказ гостевой ОС в любом доступе к фактическим записям таблицы страниц, перехватывая попытки доступа и эмулируя их вместо этого в программном обеспечении.

  • Эмуляция устройства ввода / вывода: неподдерживаемые устройства в гостевой ОС должны эмулироваться эмулятором устройства, который работает в хостовой ОС.

Гостевая операционная система сильно перегружена для операций, которые требуют использования обязательных привилегированных инструкций, и, как правило, эти накладные расходы значительно снижаются за счет использования расширений виртуализации Intel-VT-x и AMD-V AMD. В вашем процессоре отсутствуют эти расширения, поэтому вся работа по захвату и эмуляции приведет к некоторой потере производительности.

Мои рекомендации будут:

  • Чтобы предоставить виртуальной машине столько памяти, сколько нужно, чтобы минимизировать объем подкачки, который может быть выполнен, возможно, 1 ГБ или более, в зависимости от ваших рабочих нагрузок.

  • Отключите 3D-ускорение, так как все вызовы 3D-драйвера, возможно, придется проталкивать через слой эмуляции и, следовательно, могут быть дорогими на вашем процессоре.

  • Установите гостевые дополнения Virtualbox для гостевой операционной системы, так как они будут использовать драйверы, которые лучше поддерживают виртуальную среду.

  • Уменьшите разрешение экрана и графические опции в вашей гостевой операционной системе.

  • Поддерживайте доступ к сети (Интернет) на разумном уровне, виртуальные машины с высокой степенью привязанности к сети обходятся дорого даже с VT-x, а также с преимуществами VT-d (технология виртуализации для направленного ввода-вывода), которая также не поддерживается вашим процессором.

2

Мой ответ относится только к названию вопроса, а не к другому тексту вопроса. Я делаю упор на простое использование процессора с большим количеством виртуальных гостей: (достаточно свободной памяти на хосте).

Загрузка ЦП, вызванная процессом audiodg.exe на хосте Windows при запуске VirtualBox, выше, чем загрузка самого гостевого компьютера. Его можно легко уменьшить или полностью удалить, сняв флажок Аудио в гостевых настройках Virtualbox на вкладке Аудио. (Можно отключить только на закрытой виртуальной машине.)

Процесс audiodg.exe потребляет примерно 5% ЦП для одного гостя, но это важная нагрузка на ноутбук во время типичных операций в режиме ожидания, таких как редактирование исходного кода, и оказывает большое влияние на частоту ЦП (снижение с 80% до 40%), скорость вращения вентилятора и время автономной работы на ноутбуке. Многие из моих запущенных виртуальных машин обычно не нуждаются в звуке или только иногда. (Отключение звука в гостевой ОС не имело никакого эффекта, ни пауза виртуальной машины, но важны настройки гостевой виртуальной машины.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .