VS 2015文件保存时的高CPU使用率

时间:2015-09-10 17:06:18

标签: c# performance visual-studio-2015

使用Visual Studio 2015,我注意到如果我打开了一个针对所有解决方案的公共项目的多个解决方案,如果我编辑并保存属于公共项目的一个.cs文件,那么所有Visual Studio 2015实例都将消耗CPU持续10-15秒。请注意,常见项目相当大。

我不记得在Visual Studio 2013中发生过这种情况。在我的工作流程中,通常使用引用公共项目的解决方案打开8-9个Visual Studio实例是很常见的,所以我觉得我会注意到Visual Studio 2013的这种行为(我的开发机器有32 GB的RAM,这使得这种类型的工作流成为可能)。

我试过了:

  1. 禁用CodeLens
  2. 卸载ReSharper
  3. 禁用工具 - >选项
  4. 中的四个C#Intellisense功能
  5. Temporarily Disabling Static Code Analysis Solution Wide (for all loaded solutions)
  6. 我还启动了一个单独的Visual Studio 2015实例,启用了Microsoft符号服务器,并在消耗高CPU时启用了(通过Debug-> Profiler-> Performance Explorer - > Attach / Detach)一个有问题的Visual Studio实例

    此图显示了分析器摘要,您可以从图表中看到介于~12s和~27s之间的高CPU使用率。

    Profiler Summary

    84.46%的样本是在Thread :: intermediateThreadProc中,并且大多数是独占样本,但是在包容性样本中,似乎它正在进行某种代码分析。

    Profiler Call Tree

    有了这些信息,我假设正在对所有Visual Studio 2015实例(包括后台实例)执行某种背景代码分析。有谁知道如何禁用它?或者如果我的假设不正确,还有其他任何建议吗?

    更新2015年9月12日 有趣的是,如果我使用安装的ReSharper 9.2执行相同的分析,我会得到类似的结果,但是使用JetBrains.Platform.Satellite.exe位于" Hot Path" (而不是devenv.exe)。

    Profiler Summary ReSharper

    2015年10月11日更新

    我认为这是问题所在:

    How to disable real time compilation in Visual Studio 2015

    有没有办法在保存时禁用实时编译?或者至少它不是那么具有侵入性?最有可能遵循的操作" Save"是" Build",因为所有的visual studio实例都在重新编译他们各自的解决方案(没有被问到)," Build"在活动解决方案中的操作受到严重阻碍。

1 个答案:

答案 0 :(得分:0)

在此处找到(http://www.itgo.me/a/x8021838007883560399/how-to-disable-real-time-compilation-in-visual-studio-2015): "转到工具,选项,文本编辑器,C#,高级并取消选中启用完整解决方案分析。这应该可以解决您的问题,因为除非您构建解决方案,否则每次都不会检查解决方案。"