为什么VirtualBox中的Ubuntu客户运行速度非常慢?

我正在使用当前的Ubuntu 12.04 LTS作为主机,我已经虚拟化了三台机器:

  • 一个Xubuntu 12.04客人
  • Windows 7客户端
  • 一个Ubuntu 12.10客人

所有guest虚拟机都具有相同的VirtualBox默认设置,但Ubuntu 12.10速度较慢!

安装耗时1小时40分钟! (通常需要40分钟。)现在不可能使用它,并且所有操作都非常非常慢。

我正在使用VirtualBox版本4.2.4。

有任何想法吗?

它为什么慢? 我怎样才能让它更快?

我听说它与他们删除Unity 2D的事实有关,或者以某种方式切换到3D Unity只会降低VM性能,因为它过度依赖CPU处理过去所需要的。 Linux Outlaws播客谈了一下,但我忘记了这一集。

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

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”在此示例中均返回“no”,这意味着Unity使用慢速LLVM管道。

如何启用3D加速(仅限VirtualBox 4.2.x)

这些说明适用于VirtualBox 4.2.4或4.2.6,从VirtualBox的网站安装,而不是从Ubuntu的repo安装。 VirtualBox的未来版本可能会自动修复此问题,或者可能需要不同的解决方法。

  1. 安装VirtualBox Oracle VM VirtualBox扩展包。
  2. 创建一个VirtualBox实例并在其上安装Ubuntu 12.10。
  3. 为guest虚拟机添加安装一些必需的包:

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

     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 

如果windows似乎无效 ,请安装CompizConfig设置管理器并在OpenGL部分中禁用Framebuffer对象(FBO):

  1. 安装CompizConfig设置管理器:

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

     ccsm 
  3. 选择OpenGL部分,然后取消勾选Framebuffer Object选项。 如果这可以解决问题,则应立即显示。 无需重启。

看起来VirtualBox软件开发人员正在研究解决方案,但还没有准备好 – 请参阅论坛post讨论4.2.4版本

Ubuntu 12.10后的四分之一内有一个讨论这个问题的线程“几乎”无法使用

我不知道在虚拟机中使Unity可用的GUI设置,但我知道如何在虚拟机,KVM和其他设备下调整虚拟机。 我从来没有运气让Unity在任何虚拟环境中都运行良好。 从未尝试过太努力,更喜欢使用纯WM或基于LXDE的DE。

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

摘要:

  • Vbox默认设置不适合像真正的GPU那样的Ubuntu版本。
  • 在旋转HDD上, 预分配整个虚拟磁盘。 在SSD上,没关系。
  • 仅分配您需要的存储空间。 将大文件保留在vStorage之外的其他位置。
  • 永远不要分配比你应该多的CPU或RAM。 1 vCPU可能已经足够了。
  • 为HostOS留出1GB的RAM。 不要过度提交RAM。
  • VirtIO驱动程序用于存储和网络。 现代Linux客户支持此function。
  • 对于Windows guest虚拟机,请使用SATA(存储)和Intel PRO / 1000(网络)驱动程序。 可以在Windows下使用virtio驱动程序,这有点困难。
  • 为2003,WinXP及更高版本的所有访客启用ACPI和AHCI。
  • 桌面VM应该获得所有128MB的显示vRAM
  • 服务器虚拟机应保留9MB的vRAM; 不要浪费它。
  • 避免2D和3D加速设置,直到您拥有其他所有工作方式。 启用此function后,Ubuntu / Unity会执行错误操作。 它可以将Core i7带到地面。

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

祝好运。

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

请参阅: http ://www.psychocats.net/ubuntu/classicgnome随机详细的howto

要启用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 

您要做的下一件事是增加video内存。 寻找.vbox文件

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

更换

  

  

source: 如何修复在virtualbox中运行的慢性能ubuntu 13.04