【发布时间】:2011-07-16 03:15:55
【问题描述】:
通常在 Visual Studio 2010 中构建包含多个项目的大型解决方案时,Windows 7 资源监视器会将 devenv.exe 显示为无响应,但平均 CPU 读取的数值较低,如 0.91,如图所示:
这是在带有 AMD Phenom II 920 4 核 CPU、8 GB RAM 的 Windows 7 x64 上。 Visual Studio 没有响应,但它似乎几乎没有使用任何 CPU 资源。
当我尝试使用 msbuild.exe 和开关“/maxcpucount:4”运行构建时,平均 CPU 值仍然很低,并且 RHS 图表从未显示高于 5-10% 的值。
为什么 Visual Studio 2010(或 msbuild)在构建期间似乎没有利用 CPU?
【问题讨论】:
-
计算机的性能远不止 CPU。例如;从磁盘读取您的解决方案花费了多少时间?
-
如果您的系统内存不足,您将开始疯狂地颠簸您的页面文件,并且编译速度会慢到爬行。具有大量
#includes 的大型翻译单元可以轻松消耗数百兆字节。将其乘以并行进程的数量,您可以轻松消耗千兆字节。 -
@vcsjones 我在打开项目时在资源监视器中检查了我的磁盘使用情况,发现它接近 1 MB/s。 @Adam 当我打开几个大型解决方案并且我有一段时间没有重新启动时,我看到 Windows 7 有时会显示“内存不足”消息,但在这种情况下,我使用了 8 GB RAM 中的 3-4 个。
-
我也是这么想的,这里的答案似乎解释不了那么多。我使用了 17% 的 CPU。 30% 内存。 1% 磁盘。为什么它不利用我的机器。在超级计算机或土豆上构建似乎需要同样的时间。没有意义。对我来说,购买 5 台垃圾计算机并使用 Incredibuild 构建它们会更好。
标签: visual-studio-2010 msbuild