Ubuntu Trusty:WAN 上的 virt-manager 性能...冻结超过 40 秒

Ubuntu Trusty:WAN 上的 virt-manager 性能...冻结超过 40 秒

我在运行 Ubuntu 14.04 的笔记本电脑上使用 virt-manager GUI 0.9.5-1ubuntu3,与距离较远的服务器(相同的操作系统)对接,结果性能相当不理想。

笔记本电脑与服务器之间的 ping 时间约为 50 毫秒,不算太好,但对于 SSH 访问来说已经足够了,甚至可以通过 X/ssh 运行 Firefox 也还算可以。服务器和笔记本电脑都有足够的空闲 CPU 周期、RAM 和磁盘。我的本地 ADSL 下行速度为 8Mbps,上行速度为 800Kbps,而且非常意外的是,妻子没有播放肥皂剧 ;-)

我正在创建一个新的虚拟机并选择“安装前自定义配置”。单击“添加硬件”按钮将冻结 virt-manager 约 40 秒,在此期间几乎没有网络活动(发送 117 kB,接收 151 kB,峰值下载 5kBps,上传 11kBps);两个盒子上的 CPU/RAM 都完全正常。

在“添加新虚拟硬件”对话框中按“完成”添加 NIC 需要 50 秒,带宽统计数据相似。

相比之下,实际的 VM 创建(35GB QCOW2 img)大约需要 15 秒,并且通过 virt-manager 的控制台访问性能很棒 - 并不比 SSH 慢很多。

我肯定做错了什么事但是是什么呢?

答案1

升级到较新的版本后,我可以确认之前遇到的性能缓慢问题已成为过去。Ubuntu“Trusty”的打包版本已有两年多历史(0.9.5 vs 1.2.0)。

升级并不太难,除了可能要弄清楚需要哪些依赖项(新版本似乎比旧版本多了很多)。方法如下:

  1. 获取压缩包最新版本(我已经用 1.2.0 测试过了)然后解压到方便的地方
  2. 查看可能需要安装的依赖项:grep '^Requires:' virt-manager.spec.in
  3. 对于每个已识别的依赖项,检查是否需要安装它;下面是我需要安装的软件包的列表(我相信是完整的,但 YMMV)。如 README 文件中指出的那样,大多数依赖项的名称必须以“gir-1.2”为前缀:

    sudo apt-get install python-ipaddr
    sudo apt-get install gir1.2-libvirt-glib
    sudo apt-get install gir1.2-libosinfo
    sudo apt-get install gir1.2-gtk-vnc
    sudo apt-get install gir1.2-spice-client-gtk-3.0
    
  4. 您现在应该能够从当前目录运行 virt-manager;尝试一下:./virt-manager并确认之前的性能问题已消失。如果失败,则可能是由于缺少依赖项,因此请返回上一步。
  5. 其余部分是可选的,因为您可以简单地继续从临时目录运行快速版本,但如果您想安装/usr以替换系统范围内缓慢的打包版本,请运行以下命令:

    sudo python setup.py install --prefix=/usr
    
  6. 如果您尝试运行已安装的版本,它可能无法开箱即用。使用 进行了一些调试,python -d -v /usr/share/virt-manager/virt-manager --debug --no-fork发现了根本原因(virt-manager:8484): GLib-GIO-ERROR **: Settings schema 'org.virt-manager.virt-manager' is not installed。Google 最终引导我找到此错误报告;简而言之,解决办法如下:

    sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
    
  7. 不要忘记通过点击“帮助”->“关于”来检查你运行的版本是否正确

相关内容