为什么VirtualBox中的Ubuntu来宾运行非常非常慢?


176

我当前使用Ubuntu 12.04 LTS作为主机,并且已经虚拟化了三台计算机:

  • Xubuntu 12.04客人
  • Windows 7来宾
  • Ubuntu 12.10来宾

所有来宾都具有相同的VirtualBox默认设置,但是Ubuntu 12.10慢一些!

安装花费了1小时40分钟!(通常需要40分钟。)现在无法使用它,并且所有操作都非常非常缓慢。

我正在使用VirtualBox 4.2.4版本。

有任何想法吗?

为什么这么慢?我该如何更快呢?


您是否尝试过弄乱配置?您是否尝试安装访客版?
usr12390 2012年

是的,我已经安装了guest虚拟机附加组件,但是似乎没有什么变化。奇怪的是,我已经用ubuntu或其他发行版安装了许多虚拟机,但是只有Ubuntu 12.10这样做了……在安装过程中,我遗留下了所有像以往一样默认设置;其他2个虚拟机运行正常...
Giorgio

2
Flimm在下面的回答为我解决了速度问题。askubuntu.com/a/214968/107015
JS。

Answers:


36

我听说这与他们删除了Unity 2D有关,或者以某种方式切换到3D Unity只会减慢VM性能,因为它严重依赖于CPU处理过去需要的更多内容。在Linux的歹徒播客谈到这一点,但我忘了插曲。

更新:问题在于Virtualbox Guest Additions在12.10中不提供3D加速。请参阅Ubuntu 12.10无法使用3D加速。无法建立DRM


我在想同一件事,因为其他Virtual PC之间的唯一区别是只有统一的3D ...而我不能使用3D加速,因为我的CPU是没有此功能的旧型号...所以,我将使用一个newone处理器:)
乔治

1
我认为这是不正确的-导致对X Server 1.13(由VirtualBox)缺乏支持,而不是由Unity引起的。这是一个重要的区别,因为它很容易替换Unity(例如,用XFCE),但是我不知道如何降级X Server的默认版本。
Mzzzzzz 2012年

1
为什么说这是X问题?对我而言,例如回到gnome修复它。那么这是替换Unity而不是X的问题吗?
Nanne 2012年

@ marcopolo1010,Xubuntu 12.10具有XServer 1.13,并且在VirtualBox中具有良好的性能(肯定比Ubuntu 12.10快得多)。因此,这一定是Unity问题。
ignis 2012年

另外,如果您使用的是Mac,则可以尝试增加为访客提供的CPU数量。这极大地帮助了我!这是我获得此消息的来源:code.dimilow.com/ubuntu-12-10-slow-as-virtualbox-guest-os
Matt Wolfe

281

Ubuntu 12.10不再包含Unity 2D,该版本是为无法提供3D加速的平台实现的。相反,Ubuntu 12.10使Unity在LLVM下运行,从而使用于GPU的代码在CPU上运行。它比使用GPU慢得多。

要检查您的Ubuntu 12.10 guest虚拟机是否正在使用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扩展包。
  2. 创建一个VirtualBox实例并在其上安装Ubuntu 12.10。
  3. 安装一些用于添加来宾的必需软件包:

    sudo apt-get install linux-headers-$(uname -r) build-essential
    
  4. 通过单击设备,安装来宾添加项并从CD-ROM目录运行此命令来安装来宾添加项:

    sudo ./VBoxLinuxAdditions.run
    
  5. vboxvideo通过运行以下命令将驱动程序添加到实例:

    sudo bash -c 'echo vboxvideo >> /etc/modules'
    
  6. 关闭VirtualBox实例。
  7. 打开Virtualbox实例的设置,导航到“显示”,然后勾选“启用3D加速”。
  8. 引导您的Ubuntu 12.10 guest虚拟机,并通过运行以下命令检查3D加速是否正常运行:

    /usr/lib/nux/unity_support_test -p
    

如果窗口消失了,请安装CompizConfig设置管理器并在OpenGL部分中禁用帧缓冲对象(FBO):

  1. 安装CompizConfig设置管理器:

    sudo apt-get install compizconfig-settings-manager
    
  2. 运行CompizConfig设置管理器:

    ccsm
    
  3. 选择OpenGL部分,然后取消选中Framebuffer Object选项。如果此问题得以解决,则应立即可见。无需重新启动。

28
这是一个很好的解决方法,值得多次投票。
ζ--

4
在我全新安装的Ubuntu 12.10(在Mac OS X 10.6上使用VirtualBox 4.2.4)上,这无疑加快了速度……但是显示屏上有很多错误。窗口消失,发射显示不出来,除非破折号是开放的,等等
本杰明·奥克斯

12
“未呈现软件”是一个非常令人困惑的属性名称:S
Adam Harte

2
@reprogrammer:我有同样的问题。尝试使用Ubuntu仓库中的其他软件包,而不是VirtualBox随附的最新软件包。通过运行以下命令执行此操作:(sudo apt-get remove virtualbox-guest-additions这将删除您已sudo apt-get install virtualbox-guest-additions安装的驱动程序)(这将从默认存储库中安装这些驱动程序)接下来,在设置中打开其他驱动程序(或通过软件来源>最新版Ubuntu上的其他驱动程序),然后选择明显的驱动程序。 。
labsin

6
我无法使它与VirtualBox 4.3.12一起使用。对我来说,VirtualBox 4.3.12的解决方案是安装一个更新的GuestAdditions版本,如此处所述:virtualbox.org/ticket/12941具体来说,virtualbox.org
Gordon Glas


7

我不知道使Unity在VM内可用所需的GUI设置,但我确实知道如何在virtualbox,KVM和其他设备下调整VM。我从未有过使Unity在任何虚拟环境中都能正常运行的运气。从未尝试过太努力,而是倾向于使用纯WM或基于LXDE的DE。

更详细的设置在这里:http : //blog.jdpfu.com/2012/09/14/solution-for-slow-ubuntu-in-virtualbox

摘要:

  • 对于像真正的GPU这样的Ubuntu版本,Vbox默认设置不是很好。
  • 在旋转硬盘上,预分配整个虚拟磁盘。在SSD上,没关系。
  • 仅分配所需的存储。将大文件保留在vStorage之外的其他位置。
  • 切勿分配过多的CPU或RAM。1个vCPU可能就足够了。
  • 为HostOS留出1GB的RAM。不要过度提交RAM。
  • 使用VirtIO驱动程序进行存储和网络连接。现代Linux来宾对此提供支持。
  • 对于Windows guest虚拟机,请使用SATA(存储)和Intel PRO / 1000(网络)驱动程序。可以在Windows下使用virtio驱动程序,但是有点困难。
  • 为2003,WinXP及更高版本的所有来宾启用ACPI和AHCI。
  • 台式机虚拟机应获得所有128MB的显示vRAM
  • 服务器虚拟机应保留9MB的vRAM;不要浪费它。
  • 避免2D和3D加速设置,直到您按照自己的方式进行其他操作为止。启用此功能后,Ubuntu / Unity会做坏事。它可以将Core i7带到地面。

其他答案中有很多GUI性能提示。这些可能也是有效的。这些相同的技巧适用于KVM,VM-Player和其他虚拟系统管理程序。这些也适用于服务器。

祝好运。


2
您链接到的博客文章适用于Ubuntu 12.04。Ubuntu 12.10有很大的不同,因为它不再包含Unity 2D,并且当普通Unity在未检测到硬件加速时会通过LLVMPipe进行渲染。
Flimm 2013年

2
我的Ubuntu Server来宾变得快后,我改变了视频内存从8MB〜128MB到。我将其用于Rails开发。

4

从Unity移至后备GNOME,我取得了不错的成绩。您可以通过从软件中心安装GNOME-session-fallback,然后在登录屏幕上选择它来完成此操作。

请参阅:http : //www.psychocats.net/ubuntu/classicgnome,以获取随机的详细指导


在Ubuntu 16.04中,软件包名称为gnome-session-flashback。这对我而言似乎是唯一可以改变ui性能的东西。谢谢!
Mustafa

1

要启用受支持的3D,首先您需要更新linux-headers

$ 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"/>

来源:如何修复在virtualbox中运行的性能较低的ubuntu 13.04

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.