Linux 虚拟机运行缓慢取决于网络

Gra*_*ral 7 networking linux virtualbox virtual-machine

在工作中,我在 Windows7 机器上的 Oracle VM VirtualBox 4.2.16 下使用运行 Linux Mint 13 的 VM。笔记本电脑连接到网线,无线连接关闭。VM 的网络设置是使用桥接适配器连接到具有自己的 MAC 地址的千兆网络连接。这允许我在 Linux 系统上运行 Samba,以便我可以在两个操作系统之间共享文件。一切正常。

当我把笔记本电脑带回家时,问题就出现了。在家里,我使用无线连接。Windows 端没有互联网连接问题。另一方面,VM 运行速度非常慢。调出 xterm 窗口并完成“ls”命令可能需要 15 秒。我尝试在 VirtualBox 中使用不同的适配器设置启动 VM,甚至禁用所有网络适配器,但我每次都看到相同的行为。

当我有足够的耐心(并且连接了适配器)时,我可以看到 VM 正在获取 IP 地址,但它无法 ping 外部世界的任何内容。这里会发生什么?

为了进一步混淆事情,我有第二个 VM 运行相同版本的 Linux Mint。相同的 VM 硬件设置,只是没有运行 Samba 或我的任何工作。:) 无论如何,它连接到互联网并且运行得很好。

两者之间有什么不同可能会导致一个 Linux VM 速度太慢以至于无法使用?我试过停止 Samba,但这似乎并没有改变任何东西。我还能尝试什么?

更新

今晚的实验结果(注意:“Xterm 操作”是指简单的事情,例如在 Xterm 窗口中键入“ls”和浏览目录结构):

  1. 尝试在笔记本电脑(Windows 或 VM)上完全未启用网络连接的情况下运行。Xterm 操作仍然缓慢。
  2. 启用与笔记本电脑的无线网络连接。已启用与 VM 的网络连接,但未附加它。Xterm 操作很慢。
  3. 启用到 VM 的 NAT 连接。VM 获得了一个奇怪的 IP 地址 (10.0.3.15),Xterm 操作仍然很慢。
  4. 启用桥接连接。获得了正确的 IP 地址(172.16.42.7,Windows 是 172.16.42.4,两者都有 255.255.255.0 作为掩码),但 Xterm 操作很慢。能够从 VM ping 172.16.42.1 并从 Windows ping VM。

我应该提到我正在连接到我的 Apple Time Capsule 上的访客网络。

在这一点上,我仔细检查了我的两个虚拟机之间的硬件配置 - 工作的一个和非工作的一个。我注意到为非工作启用了 3D 加速。当我禁用 3D 加速时,Cinnamon 窗口管理器显示许多图形故障,但 Xterm 操作速度正常。我禁用了 3D 加速并重新启动到 Cinnamon 的软件渲染版本。

图形故障消失了,Xterm 操作速度正常。不幸的是,我无法从外部连接。我的意思是我可以 ping 172.16.42.1,但不能 ping www.google.com。我可以切换到 MATE,但是现在没有外部连接就很难了。

当我在不同的网络上运行时,为什么窗口管理器和/或 3D 加速会影响 Xterm 窗口中的操作?或者这可能与电源等不同因素有关?我的厨房桌子有什么神奇之处?

更新 2

我将 Linux Mint 13 从运行 Cinnamon 切换到运行 MATE,这解决了速度慢的问题!

不幸的是,我还没有走出困境。这可能是一个单独的问题,但我无法连接到外部世界。运行 MATE 的 Linux Mint VM 启动并获取 IP 地址。我可以从 Windows ping 系统。我什至可以从 Windows 挂载 Linux Mint Samba 共享并浏览目录。

从 Linux Mint VM 的角度来看,我无法 ping Windows 主机,但我可以通过 ssh 连接到我网络上的 Raspberry Pi。所以网络内部的连接似乎工作正常。我只是无法从 Linux Mint VM ping Google。我什至尝试通过有线网络连接,但没有运气。我可能应该写一个新问题,但我想至少在这里发布关于我最新状态的更新。

Way*_*ker 3

很可能是 /etc/resolv.conf 中设置了错误的内容。内容要么指向错误的 DNS 服务器(不存在、损坏或位于防火墙(工作中的防火墙)后面),要么您的网络未向您提供对列出的名称服务器所在网络的访问权限(例如,互联网或您的网络)。本地路由器/网关设备。

当虚拟机运行缓慢时,以 root 身份编辑 /etc/resolv.conf 并注释掉其中的所有内容。

看看运行速度是否恢复正常。如果是这样,那么对 DNS 的访问就会减慢您的速度。

然后 ping 8.8.8.8。如果有效,请编辑 /etc/resolv.conf 并将其作为第一行:

名称服务器 8.8.8.8