当在Visual Studio2010中构建包含多个项目的大型解决方案时,Windows7资源监视器通常会显示devenv.exe没有响应,但平均CPU读取的数值较低,如下图所示:

这是在Windows7 x64上,使用AMD Phenom II 920四核CPU,8 GB内存。Visual Studio没有响应,但它似乎几乎没有使用任何CPU资源。
当我尝试使用msbuild.exe和开关"/maxcpucount:4“运行构建时,平均cpu值仍然很低,并且RHS图永远不会显示高于5-10%的值。
为什么Visual Studio2010(或msbuild)在构建过程中似乎没有利用CPU?
发布于 2011-07-16 11:28:15
构建一个项目可能会涉及大量的磁盘I/O,这可能会花费相当多的时间,但不会产生太多的CPU负载。
至于为什么它显示为无响应,我的猜测是,构建过程出于某种原因(例如,某人在实现它方面做得很糟糕)阻止应用程序响应来自操作系统的请求。一个应用程序不需要达到100%的CPU使用率才被认为是“没有响应”,它只需要让它的主线程卡在某个地方,阻止它及时响应操作系统。
发布于 2011-10-31 11:54:19
似乎MSBuild不喜欢并行构建多个项目,只能在一个项目中并行构建多个文件。
发布于 2011-07-16 12:03:52
为什么它很慢,而且不能像预期的那样工作?嗯,因为它是使用尖端技术从头开始构建的。怪不得!
(怒气冲冲地说:VS2010是一个巨大的倒退。VS2008更稳定,响应性更好(也很有效),但先把个人观点放在一边)
利用多核优势的两种解决方法:
MSBuild任务的BuildInParallel属性设置为truehttps://stackoverflow.com/questions/6715061
复制相似问题