为什么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的未来版本可能会自动修复此问题,或者可能需要不同的解决方法。
- 安装VirtualBox Oracle VM VirtualBox扩展包。
- 创建一个VirtualBox实例并在其上安装Ubuntu 12.10。
-
为guest虚拟机添加安装一些必需的包:
sudo apt-get install linux-headers-$(uname -r) build-essential
-
通过单击“设备”,“安装Guest Additions”并从CD-ROM目录运行此命令来安装guest虚拟机添加项:
sudo ./VBoxLinuxAdditions.run
-
通过运行以下命令将
vboxvideo
驱动程序添加到实例:sudo bash -c 'echo vboxvideo >> /etc/modules'
- 关闭VirtualBox实例。
- 打开Virtualbox实例的设置,导航到“显示”,然后勾选“启用3D加速”。
-
启动您的Ubuntu 12.10 guest虚拟机,并通过运行检查3D加速是否正常工作:
/usr/lib/nux/unity_support_test -p
如果windows似乎无效 ,请安装CompizConfig设置管理器并在OpenGL部分中禁用Framebuffer对象(FBO):
-
安装CompizConfig设置管理器:
sudo apt-get install compizconfig-settings-manager
-
运行CompizConfig设置管理器:
ccsm
- 选择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