【问题标题】:VS 2015 High CPU Usage on File SaveVS 2015 文件保存时 CPU 使用率高
【发布时间】:2015-09-10 17:06:17
【问题描述】:

使用 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. 禁用 Tools->Options 中的四个 C# Intellisense 功能
  4. Temporarily Disabling Static Code Analysis Solution Wide (for all loaded solutions)

我还启动了一个单独的 Visual Studio 2015 实例,启用了 Microsoft 符号服务器并分析(通过 Debug-> Profiler-> Performance Explorer -> Attach/Detach)一个有问题的 Visual Studio 实例,同时它正在消耗高 CPU。

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

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

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

2015 年 9 月 12 日更新 有趣的是,如果我在安装 ReSharper 9.2 的情况下执行相同的分析,我会得到类似的结果,但 JetBrains.Platform.Satellite.exe 位于“热路径”的根目录(而不是 devenv.exe)。

2015 年 10 月 11 日更新

我认为这是问题所在:

How to disable real time compilation in Visual Studio 2015

有没有办法在保存时禁用实时编译?或者至少让它不那么具有侵入性?最有可能跟随“保存”的操作是“构建”,并且由于所有的 Visual Studio 实例都在重新编译各自的解决方案(没有被询问),因此活动解决方案中的“构建”操作受到严重阻碍。

【问题讨论】:

  • Thread::intermediateThreadProc() 是所有 .NET 线程开始执行的地方。当 85% 的样本是 .NET 线程但只执行一小部分 .NET 代码时,您需要怀疑程序员自愿在其计算机上安装的压缩包装恶意软件。首先禁用您的反恶意软件。
  • 我不认为与反恶意软件程序相关的 CPU 使用率会出现在 devenv.exe 进程中,但我禁用了 Windows Defender(我安装的唯一反病毒/恶意软件),并且问题持续存在。 (反恶意软件程序是否能够将代码注入进程?)
  • @Shea 你解决了吗?我有同样的问题。我发现 VS 2012 也会发生这种情况,并且在我安装 .Net framework 4.6.x 时已经开始发生
  • @Giox 我没能解决这个问题,我已经辞职去使用当时打开的一个 Visual Studio 实例。 Jetbrains 打开了一个 Microsoft Connect 问题:(connect.microsoft.com/VisualStudio/feedback/details/1803007)。最近的 cmets 表明 Update 2 可能会有一些改进,但我尚未对此进行测试。
  • Visual Studio 2015 Update 2 没有解决这个问题。后台 Visual Studio 2015 Update 2 进程在其已加载项目之一中的文件在磁盘上更新时继续消耗大量 CPU。

标签: c# performance visual-studio-2015


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-27
    • 2014-05-07
    • 2022-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-14
    相关资源
    最近更新 更多