Как уменьшить загрузку процессора при запуске Virtual Box?


12

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

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

Название процессора 1: Intel (R) Pentium (R) Dual CPU T2310 @ 1,46 ГГц Размер
процессора 1 уровня 1: 32K Кэш данных. 32K кеш инструкций.

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

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

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


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

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


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

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

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

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

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

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


То есть вы имеете в виду, что ваша виртуальная машина работает медленно или ваша система в целом? CPU у вас есть это довольно слабый - так что я бы не удивляйтесь , если он получает до 100% при запуске виртуальных машин.
Slhck

Процессор медленный, но я использую XP на хосте SUSE на Athlon XP 2800+ без проблем и 2 ГБ ОЗУ, и эта система во много раз быстрее моей. Он должен быть в состоянии запустить VirtualBox и XP в нейтральном режиме без проблем. Также +1 за хороший список соответствующих спецификаций компьютера.
AndrejaKo

Я столкнулся с той же проблемой в нескольких операционных системах на одном компьютере. Ранее я использовал Linux Mint, Ubuntu, Slax, Fedora и, похоже, сталкивался с похожими проблемами при использовании процессора. Тем не менее, я считаю, что если я смогу «правильно» настроить параметры своей виртуальной машины, я «мог бы» немного повысить производительность.
CompilingCyborg

Временное решение, которое я использую в данный момент, - это бесконечный цикл, который запускает команду bash для освобождения PageCache, dentries и inode каждые 10 секунд. Моя виртуальная машина смогла немного дышать после того, как я подумал об использовании этой причудливой техники, хотя это не правильный способ сделать это, а скорее "взломать".
CompilingCyborg

1
К сожалению, T2310 не имеет расширений виртуализации VT-x ( ark.intel.com/Product.aspx?id=32431 ), и в результате Virtualbox будет использовать программное обеспечение для перехвата всех вызовов ЦП с высокими привилегиями, которые будет выполнять гость, это будет означать сам Virtualbox будет использовать больше ресурсов процессора для обслуживания гостевой ОС. Кроме того, мне было бы любопытно посмотреть, может ли предоставление гостевой ОС 1 ГБ ОЗУ помочь ей простаивать лучше, так как не нужно будет так часто
совершать

Ответы:


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%), скорость вращения вентилятора и время автономной работы на ноутбуке. Многие из моих работающих виртуальных машин обычно не нуждаются в звуке или только иногда. (Отключение звука в гостевой ОС не имело никакого эффекта, ни пауза виртуальной машины, но важны настройки гостевой виртуальной машины.)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.