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


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

  • гость Xubuntu 12,04
  • гость Windows 7
  • Гость Ubuntu 12.10

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

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

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

Есть идеи?

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


174
2017-10-28 19:26


происхождения


Вы пытались возиться с конфигурациями? Вы пытались установить гостевые издания? - usr12390
Да, я установил гостевые дополнения, но ничего не изменилось ... странно, что я установил много виртуальной машины с помощью ubuntu или другого дистрибутива, но только Ubuntu 12.10 делает это ... во время установки я оставляю все установка по умолчанию, как всегда; другие 2 виртуальные машины работают отлично ... - Giorgio
Ответ Флимма ниже определил проблему медлительности для меня. askubuntu.com/a/214968/107015 - JS.


ответы:


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

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


36
2017-10-28 20:02



Я думаю об одном и том же, потому что единственная разница между другим виртуальным ПК заключается в том, что существует только единство 3D ... и я не могу использовать 3D-ускорение, потому что мой процессор является старой моделью без этой функции ... так что , Я возьму новый процессор :) - Giorgio
Я не думаю, что это точно - это отсутствие поддержки X Server 1.13 (по VirtualBox), а не Unity, которая вызывает проблему. Это важное различие, потому что легко заменить Unity (например, с XFCE), но я не знаю, как понизить версию X Server по умолчанию. - Mzzzzzz
Почему вы говорите, что это проблема X? Для меня возвращение к гному исправлено, например. Так что это была проблема замены Unity, а не X? - Nanne
@ marcopolo1010, Xubuntu 12.10 имеет XServer 1.13 и имеет хорошую производительность в VirtualBox (определенно намного быстрее, чем Ubuntu 12.10). Так что это должен быть вопрос Единства. - ignis
Кроме того, если вы на Mac, вы можете попробовать увеличить количество CPU, которое вы дадите гостю. Это очень помогло мне! Вот где я получил источник для этого: code.dimilow.com/ubuntu-12-10-slow-as-virtualbox-guest-os - Matt Wolfe


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 Settings Manager и отключите объект Framebuffer (FBO) в разделе OpenGL:

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

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

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

281
2017-11-09 11:43



Это отличное решение, и оно заслуживает нескольких повышений. - hexafraction
На моей новой установке Ubuntu 12.10 (с использованием VirtualBox 4.2.4 на Mac OS X 10.6) это определенно ускорило ситуацию ... но на дисплее много ошибок. Windows исчезает, пусковая установка не появляется, если панель не открыта и т. Д. - Benjamin Oakes
«Не реализовано программное обеспечение» - это очень запутанное имя свойства: S - Adam Harte
@reprogrammer: У меня была та же проблема. Попробуйте дополнительные пакеты из репо Ubuntu вместо последних, которые поставляются с VirtualBox. Сделайте это, выполнив: sudo apt-get remove virtualbox-guest-additions (это удаляет те, которые вы установили) sudo apt-get install virtualbox-guest-additions (это устанавливает те из репо по умолчанию). Затем откройте дополнительные драйверы в настройках (или через источники программного обеспечения> дополнительные драйверы в последних версиях Ubuntu) и выберите очевидный. - labsin
Я не мог заставить это работать с VirtualBox 4.3.12. Решение для меня для VirtualBox 4.3.12 - это установить более новую версию GuestAdditions, как указано здесь: virtualbox.org/ticket/12941 В частности, virtualbox.org/download/testcase/... - Gordon Glas


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

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


11
2017-10-29 14:58





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

Более подробные настройки приведены здесь: http://blog.jdpfu.com/2012/09/14/solution-for-slow-ubuntu-in-virtualbox

Резюме: 

  • Настройки по умолчанию для 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 и другим виртуальным гипервизорам. Они тоже работают на серверах.

Удачи.


7
2018-02-10 19:16



Сообщение в блоге, которое вы связали, относится к Ubuntu 12.04. Ubuntu 12.10 существенно отличается, потому что он больше не включает Unity 2D, а нормальное Unity отображает LLVMPMP, когда он не обнаруживает аппаратное ускорение. - Flimm
Мой гостевой сервер Ubuntu стал много быстрее после того, как я изменил видеопамяти с ~ 8 МБ до 128 МБ. Я использую его для разработки Rails.


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

видеть: http://www.psychocats.net/ubuntu/classicgnome для случайного подробного


4
2017-10-29 14:16



В Ubuntu 16.04 имя пакета gnome-session-flashback, Это единственное, что, похоже, влияет на производительность ii для меня. благодаря! - Mustafa


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

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

Теперь вставьте vitualbox guest iso из устройств и установите вручную

$ 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 в виртуальном боксе


1
2018-02-21 02:58