【问题标题】:Slow IO on Windows 7 development VM running on Hyper-V在 Hyper-V 上运行的 Windows 7 开发 VM 上的慢速 IO
【发布时间】:2015-04-06 16:11:39
【问题描述】:

我正在运行一个复杂的、中等复杂的 Visual Studio 构建,通常需要大约 10 分钟才能在运行良好硬件(8Gb 内存、2.7 GHz i7、SSHD)的非虚拟化机器上完成。当我在 Hyper-V/Server 2012(精度为 5810)上运行的 Windows 7 客户机上运行构建时,运行需要一个多小时。此外,在非虚拟化环境中运行构建时,大多数构建的主要瓶颈是 CPU。在 Windows 7 虚拟环境中运行构建时,瓶颈是 IO。

我会发布资源监视器的图片,但由于这是一个全新的帐户,因此我无法访问该资源监视器。无论如何 - 来宾和主机的 cpu 和内存并不表示正在进行任何密集处理,但是 IO 非常高。队列长度在 10 到 50 之间稳定运行。每秒读取大约 3 MB,而每秒写入 8-10 MB。物理磁盘的活动时间固定为 100%。

运行 RAM 磁盘可以大大减少这里的时间(减少到 6-8 分钟),但不切实际,因为我负担不起定期投入必要的内存。

关于为什么我的队列长度如此之长和/或如何提高性能的任何想法?

【问题讨论】:

    标签: visual-studio-2013 io virtual-machine windows-7-x64 hyper-v


    【解决方案1】:

    IO 繁重的应用程序/进程总是在 VM 下受到影响。为了进行适当的比较,了解主机操作系统与存储来宾操作系统 VHD 的相同物理卷的构建时间会有所帮助。如果主机操作系统只有一个物理磁盘,您将遭受性能损失,客户操作系统卷应在专用驱动器上创建(即与您的程序、操作系统和其他文件不同的驱动器。)

    您可以尝试在 Hyper-V 管理器中增加分区/计算时间(为您的 VM 提供最大的计算时间),但我怀疑这会对 IO 影响很大。

    您还可以尝试使用未映射到主机操作系统的专用物理驱动器(Fx。SSD)(如果您尝试,主机操作系统和来宾操作系统都将访问卷并最终损坏分配表。)这可能会产生一些改进,因为存储卷是物理的(而不是让来宾操作系统通过委托访问 VHD/等的虚拟化堆栈执行)

    HTH,很想听听您的结果/发现,因为我们在这里进行了大量的虚拟化测试,但仍未遇到此问题。

    【讨论】:

      猜你喜欢
      • 2018-07-18
      • 2013-09-29
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-15
      相关资源
      最近更新 更多