抱歉,这篇文章太长了,我已经把它发布在VirtualBox 论坛但活动似乎很低,而且还没有回应,所以如果可以的话,请耐心等待。
眼镜
主持人Linux 3.2.6-2-ARCH x86_64 |虚拟盒4.1.8-2 |客人CentOS 6.2
主持人Windows 7 64 位 |虚拟盒4.1.8 |客人CentOS 6.2
背景
我在笔记本电脑上使用 VirtualBox,设置了双启动 Windows 7 和 Arch Linux。我有一个“数据”分区,用于存放大文件和内容。以下是我的硬盘在磁盘实用程序 (linux) 中的样子:
按 LTR 顺序:系统保留 | Windows 分区(C:/)“sda2”| 数据分区“Data”| ArchLinux 分区“sda4”
VirtualBox 安装在两个操作系统上,我把所有的 VDI 文件保存在数据分区上,将 VirtualBox 指向那些 VDI 文件。我只有两台虚拟机;一台 Windows XP 和一台 CentOS 机器。我实际上有 2 份 Windows XP VDI,一份用于从 Windows 7 访问,另一份用于从 Linux 访问。
问题
直到昨天,一切都运行良好。我从 Linux 主机启动了我的 CentOS VM,结果发现它运行速度慢得令人难以置信。启动需要 5 分钟以上,而正常情况下只需 30 秒左右。机器上的所有操作也很慢,即使只是移动鼠标也会很慢。
我尝试过的方法(所有这些都会导致同样的性能滞后)
- 删除所有 vbox 文件,仅保留 .vdi 文件(在我的数据驱动器上),然后使用相同的 .vdi 重新创建虚拟机
- 在虚拟机中投入大量 RAM(2Gb)和视频内存(允许的最大值)
- 更改我认为会影响性能的设置
- 安装 Guest Additions 并重启虚拟机
- 使用新磁盘创建一个新的虚拟机,然后使用我最初安装时使用的 CentOS LiveCD 启动它
- 重新启动笔记本电脑并从 Windows 主机执行上述大部分操作
我完全糊涂了。我通过创建一个全新的文件并经历了同样的缓慢速度来确定 VDI 文件没有损坏。我排除了潜在的主机操作系统问题,因为它的性能与 Windows 主机相同。
我唯一能想到的是我的数据驱动器不知何故损坏了。因此,我尝试通过从 Linux 和 Windows 主机加载我的 Windows XP VM(请记住 Windows vdi 文件位于同一分区)来证明这一点。奇怪的是,它完全正常且没有变化。
现在我真的很困惑。不是损坏的 VDI。不是损坏的硬盘。不是损坏的 VirtualBox 安装(我确实在 Linux 主机上重新安装了软件包,但没有在 Windows 上重新安装)。
[现在有点焦躁起来]
下一步想法- 一个损坏的 CentOS 下载,不知何故已经毁坏在我的 CD 上。测试:用我以前用过的 LiveCD 启动笔记本电脑。结果:完全没有问题,非常顺利。
[抓头大约半个小时]
下个阶段- 我现在要全力以赴了 - 备份数据驱动器,用磁盘工具将其格式化为 NTFS,然后使用全新的 CentOS 虚拟机再试一次。结果:同样的性能缓慢问题。
[想哭的感觉]
我已粘贴从 ArchLinux 运行 CentOS 的日志文件的输出这里。如果这还不够的话,我会非常非常感激您的帮助,并且非常乐意提供更多信息,尽管我确信我的犹豫已经持续了很长时间……
答案1
我发现了问题,VirtualBox 由于某种原因将我的虚拟机重置为 32 位,而我的 .vdi 是 64 位操作系统。
要解决此问题,您需要:
- 删除虚拟机(保留.vdi 文件)
- 使用向导创建新的虚拟机
- 在第一页询问您使用的是哪种操作系统时,请确保选择 64 位版本(如果您使用的是 64 位操作系统)(就我的情况而言
Linux - Redhat 64 bit
:) - 否则选择标准一个(例如
Linux - RedHat
)
- 在第一页询问您使用的是哪种操作系统时,请确保选择 64 位版本(如果您使用的是 64 位操作系统)(就我的情况而言
你做不是需要:
- 按照我做的做!
享受虚拟的乐趣...
答案2
在虚拟机设置中的系统->主板下将芯片组更改为 ICH9。英特尔芯片组在 Red Hat 及其衍生产品中运行正常。在我意识到问题所在之前,CentOS 6.2 运行得非常慢。现在它几乎可以实时运行。
来源:Linux问题网站
答案3
在我的 virtualbox 设置中(ubuntu 13.04 作为主机,debian 7 作为客户机),我更改为 ICH9,并将视频内存增加到 129MB,并启用 3D 图形加速,debian 现在可以顺利运行。
尚未检查仅增加视频 RAM 是否就足够了。
答案4
在虚拟机中运行 Ubuntu 12.10 和 13.04 时性能非常慢?这是因为 Ubuntu 无法使用显卡加速,Ubuntu 使用 CPU 通过 LLVMpipe 渲染图形。这导致在虚拟机中运行 Ubuntu 非常慢。
检查你的 Ubuntu 12.10 或 13.04 客户机是否正在使用 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 支持,首先你需要更新 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
来源:http://namhuy.net/951/how-to-fix-slow-performance-ubuntu-13-04-running-in-virtualbox.html