当前位置: 首页>>技术教程>>正文


为什么VirtualBox中的Ubuntu guest虚拟机运行速度非常缓慢?

,

问题描述

我现在使用Ubuntu 12.04 LTS作为主机,并且已经虚拟化了三台机器:

  • 一位Xubuntu 12.04客人

  • 一个Windows 7客户

  • 一个Ubuntu 12.10的客人

所有客人都有相同的VirtualBox默认设置,但Ubuntu 12.10速度较慢!

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

我正在使用VirtualBox版本4.2.4。

有任何想法吗?

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

最佳解决方案

我听说这与他们删除了Unity 2D的事实有关,或者由于过度依赖于CPU,所以切换到3D Unity只会降低虚拟机的性能。 Linux Outlaws podcast谈了一下,但我忘记了这一集。

更新:问题在于Virtualbox Guest Additions在12.10中未提供3D加速。参见Ubuntu 12.10 unable to use 3D acceleration. Fails to build DRM

次佳解决方案

Ubuntu 12.10 no longer includes Unity 2D,用于无法提供3D加速的平台。相反,Ubuntu 12.10在LLVM下运行Unity,使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使用慢速LLVMpipe。

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

这些说明适用于从VirtualBox网站安装的VirtualBox 4.2.4或4.2.6,而不是从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实例的设置,导航到”Display”,并勾选“启用3D加速”。

  8. 引导您的Ubuntu 12.10 guest,并通过运行来检查3D加速是否正常运行:

    /usr/lib/nux/unity_support_test -p
    

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

  1. 安装CompizConfig设置管理器:

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

    ccsm
    
  3. 选择OpenGL部分,然后取消选中Framebuffer Object选项。如果这解决了问题,它应该立即可见。不需要重新启动。

第三种解决方案

看起来VirtualBox软件开发人员正在研究解决方案,但尚未准备就绪 – 请参阅论坛帖子Discuss the 4.2.4 release

有一条线索在Ubuntu 12.10 “virtually” unusable后四米讨论这个问题

第四种方案

我不知道在虚拟机内部使Unity可用的GUI设置,但我知道如何调整virtualbox,KVM等虚拟机。我从未有过任何运气让Unity在任何虚拟环境中都能很好地工作。从未尝试过太多,宁愿使用纯WM或LXDE-based DE。

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

概要:

  • Vbox的默认设置对于像真正的GPU这样的Ubuntu发行版来说并不好。

  • 在旋转HDD时,pre-allocate将整个虚拟磁盘。在SSD上,这并不重要。

  • 只分配您需要的存储空间。在vStorage之外的其他地方保存大文件。

  • 切勿分配比您应该更多的CPU或RAM。 1个vCPU可能就足够了。

  • 为HostOS留下1GB的RAM。不要过度提交RAM。

  • 使用存储和网络的VirtIO驱动程序。现代Linux客人支持这一点。

  • 对于Windows来宾,请使用SATA(存储)和Intel PRO /1000(网络)驱动程序。在Windows下使用virtio驱动程序是可能的,但它有点难度。

  • 为2003年以后的所有访客启用ACPI和AHCI,WinXP及更高版本。

  • 桌面虚拟机应该获得全部128MB的显示vRAM

  • 服务器虚拟机应该保留9MB的vRAM;不要浪费它。

  • 避免使用2D和3D加速设置,直到您将所有其他工作以您喜欢的方式工作。启用此功能后,Ubuntu /Unity会做坏事。它可以将Core i7带到地面。

其他答案中有很多GUI性能提示。这些可能也是有效的。这些技巧适用于KVM,VM-Player和其他virtual-hypervisors。这些也适用于服务器。

祝你好运。

第五种方案

从Unity转回到后备GNOME,我获得了很好的结果。您只需从软件中心安装GNOME-session-fallback,然后在log-in屏幕上选择它即可。

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/240.html,未经允许,请勿转载。