Почему гость Ubuntu в VirtualBox работает очень медленно?

172

Я использую в настоящее время Ubuntu 12.04 LTS в качестве хост-машины, и я виртуализировал три машины:

  • a Xubuntu 12.04 гость
  • гость Windows 7
  • Гость Ubuntu 12.10

У всех гостей одинаковые настройки по умолчанию VirtualBox, но Ubuntu 12.10 работает медленнее!

Установка заняла 1 час 40 минут! (Обычно это занимает 40 минут.) Теперь его невозможно использовать, и все операции очень, очень медленные.

Я использую VirtualBox версии 4.2.4.

Любые идеи?

Почему это медленно? И как я могу сделать это быстрее?

    
задан Giorgio 28.10.2012 в 20:26
источник

6 ответов

35

Я слышал, что это связано с тем, что они удалили Unity 2D или каким-то образом переход на 3D Unity только замедляет производительность виртуальной машины из-за большой зависимости от процессора, обрабатывающего больше, чем он привык. подкаст Linux Outlaws немного об этом говорил, но я забыл этот эпизод.

Обновление: проблема заключается в том, что дополнения Virtualbox Guest не обеспечивают 3D-ускорение в 12.10. См. Ubuntu 12.10, неспособный использовать 3D-ускорение. Не удалось создать DRM .

    
ответ дан Bret 28.10.2012 в 21:02
источник
281

Ubuntu 12.10 больше не включает Unity 2D , который был реализован для платформ, которые не могут обеспечить 3D-ускорение. Вместо этого Ubuntu 12.10 работает под управлением Unity под LLVM, создавая код, предназначенный для запуска графического процессора на CPU. Это намного медленнее, чем использование GPU.

Чтобы проверить, использует ли ваш пользователь Ubuntu 12.10 3D-ускорение, выполните следующую команду:

$ /usr/lib/nux/unity_support_test -p
Not software rendered:    no
Not blacklisted:          yes
GLX fbconfig:             yes
GLX texture from pixmap:  yes
GL npot or rect textures: yes
GL vertex program:        yes
GL fragment program:      yes
GL vertex buffer object:  yes
GL framebuffer object:    yes
GL version is 1.4+:       yes

Unity 3D supported:       no

Как вы можете видеть, «Не реализовано программное обеспечение» и «Поддержка Unity 3D» возвращают «нет» в этом примере, что означает, что Unity использует медленный LLVMpipe.

Как включить 3D-ускорение (только VirtualBox 4.2.x)

Эти инструкции предназначены для VirtualBox 4.2.4 или 4.2.6, установленных с сайта VirtualBox, а не из репо Ubuntu. Будущие версии VirtualBox могут исправить эту проблему автоматически или, возможно, потребуется другое обходное решение.

  1. Установите VirtualBox Oracle VM VirtualBox Extension Pack.
  2. Создайте экземпляр VirtualBox и установите Ubuntu 12.10 на него.
  3. Установите необходимые пакеты для гостевых дополнений:

    sudo apt-get install linux-headers-$(uname -r) build-essential
    
  4. Установите гостевые дополнения, нажав «Устройства», «Установка гостевых дополнений» и запустив эту команду из каталога компакт-диска:

    sudo ./VBoxLinuxAdditions.run
    
  5. Добавьте драйвер vboxvideo в экземпляр, выполнив:

    sudo bash -c 'echo vboxvideo >> /etc/modules'
    
  6. Выключить экземпляр VirtualBox.
  7. Откройте настройки экземпляра Virtualbox, перейдите к «Display» и отметьте «Включить 3D-ускорение».
  8. Загрузите своего гостя Ubuntu 12.10 и убедитесь, что 3D-ускорение работает, запустив:

    /usr/lib/nux/unity_support_test -p
    

Если окна выглядят как disppear , установите диспетчер настроек CompizConfig и отключите объект Framebuffer (FBO) в разделе OpenGL:

  1. Установите диспетчер настроек CompizConfig:

    sudo apt-get install compizconfig-settings-manager
    
  2. Запустите диспетчер настроек CompizConfig:

    ccsm
    
  3. Выберите раздел OpenGL, а затем отключите опцию Framebuffer Object. Если это исправляет проблему, оно должно быть немедленно видно. Не требуется перезагрузка.
ответ дан Flimm 09.11.2012 в 12:43
источник
11

Похоже, что разработчики программного обеспечения VirtualBox работают над решением, но оно еще не готово - см. сообщение на форуме Обсудить выпуск 4.2.4

Существует поток, обсуждающий это в четырехмесячном сообщении Ubuntu 12.10 "практически" непригодным для использования

    
ответ дан Andrew B 29.10.2012 в 15:58
источник
7

Я не знаю о настройках GUI, необходимых для того, чтобы Unity можно было использовать внутри виртуальной машины, но я знаю, как настраивать виртуальные машины под виртуальный бокс, KVM и другие. Мне никогда не удавалось сделать Unity хорошо работать в любой виртуальной среде. Никогда не пробовал слишком сильно, предпочитая использовать либо чистый WM, либо DE-код на основе LXDE.

Более подробные настройки приведены здесь: Ссылка

Резюме:

  • Настройки по умолчанию для Vbox не подходят для релизов Ubuntu, которые похожи на настоящий графический процессор.
  • При вращении жестких дисков предварительно распределите весь виртуальный диск. На SSD это не имеет значения.
  • Выделите только требуемое хранилище. Храните большие файлы в другом месте, вне vStorage.
  • Никогда не выделяйте больше ЦП или ОЗУ, чем нужно. 1 vCPU , вероятно, достаточно.
  • Оставьте 1 ГБ ОЗУ для HostOS. Не перегружайте RAM.
  • Используйте драйверы VirtIO для хранения и подключения к сети. Современные пользователи Linux поддерживают это.
  • Для гостей Windows используйте драйверы SATA (хранилище) и Intel PRO / 1000 (сеть). В Windows можно использовать драйверы virtio, это немного сложнее.
  • Включить ACPI и AHCI для всех гостей с 2003 года, WinXP и более поздних версий.
  • Настольные виртуальные машины должны получить все 128 МБ отображения vRAM
  • Серверы VM должны оставаться с 9 МБ vRAM; не тратьте его.
  • Избегайте настроек 2D и 3D ускорений, пока у вас не будет все, что вам нравится. Ubuntu / Unity делает плохие вещи, когда это разрешено. Это может привести Core i7 к земле.

В других ответах есть много подсказок производительности GUI. Вероятно, они тоже действительны. Эти же советы применимы к KVM, VM-Player и другим виртуальным гипервизорам. Они также работают для серверов.

Удачи.

    
ответ дан JohnP 10.02.2013 в 20:16
источник
4

У меня были хорошие результаты, вернувшись из Unity в запасной GNOME. Вы можете сделать это, просто установив GNOME-session-fallback из программного центра, а затем выбрав его на экране входа в систему.

см. Ссылка для случайного подробного руководства

    
ответ дан Nanne 29.10.2012 в 15:16
источник
1

Чтобы включить поддержку 3D, вам нужно будет обновить заголовки linux

$ uname -r
$ sudo apt-get install linux-headers-$(uname -r)
$ sudo apt-get autoremove
$ sudo apt-get install build-essential

Теперь вставьте гостевой изолятор vitualbox из устройств и установите вручную

$ cd /media
$ ls
$ cd username
$ ls
$ cd VBOX*
$ ls
$ sudo ./VBoxLinuxAdditions.run

Вставить vboxvideo в / etc / modules

$ sudo nano /etc/modules

Добавить "vboxvideo" в конце файла

loop
lp
vboxvideo

Перезагрузите компьютер

$ sudo reboot

Проверка «Не реализовано программное обеспечение» и «Поддержка Unity 3D» включены или нет после перезагрузки.

$ /usr/lib/nux/unity_support_test -p

Следующее, что вы хотите сделать, - увеличить видеопамять. Найдите файл .vbox

$ nano /home/username/VirtualBox VMs/ubuntu/ubuntu.vbox

Заменить

<Display VRAMSize="128" monitorCount="1" accelerate3D="true" accelerate2DVideo="false"/>

Для

<Display VRAMSize="256" monitorCount="1" accelerate3D="true" accelerate2DVideo="false"/>

источник: Как исправить медленную производительность ubuntu 13.04 работает в виртуальном боксе

    
ответ дан user223973 21.02.2014 в 03:58
источник

Ознакомьтесь с другими вопросами по меткам