Visual studio 2015 Visual Studio 2015 StandardCollector.Service.exe失控I/O

Visual studio 2015 Visual Studio 2015 StandardCollector.Service.exe失控I/O,visual-studio-2015,io,visual-studio-debugging,Visual Studio 2015,Io,Visual Studio Debugging,Visual Studio 2015(14.0.25431.01更新3)由于StandardCollector.Service.exe导致大量I/O,将完全停止。调试项目会导致在临时目录中持续写入200 mb/秒的数据。所有性能数据(etl) 内存分配正常 这种行为是新的。我使用VisualStudio15年,没有(但通常)抱怨 我找到了诊断工具。在调试时,在工具->调试->常规->选项->启用诊断工具中禁用诊断工具可以解决I/O问题。然而,这不是一个永久的解决方案,因为我依赖于这个特性 Q:在

Visual Studio 2015(14.0.25431.01更新3)由于StandardCollector.Service.exe导致大量I/O,将完全停止。调试项目会导致在临时目录中持续写入200 mb/秒的数据。所有性能数据(etl)

内存分配正常

这种行为是新的。我使用VisualStudio15年,没有(但通常)抱怨

我找到了诊断工具。在调试时,在工具->调试->常规->选项->启用诊断工具中禁用诊断工具可以解决I/O问题。然而,这不是一个永久的解决方案,因为我依赖于这个特性


Q:在调试打开时启用诊断工具时,是什么导致大量I/O

免责声明:我在Visual Studio上工作,特别是诊断工具

您启用了CPU使用工具,该工具是一个使用windows事件跟踪(ETW)的探查器。基本上,它每毫秒收集一个CPU堆栈,并将信息写入一个ETL文件,我们从中分析和显示性能信息。无论您是否在调试会话之间打开它,我们都会保持不变,特别是为了您可以打开它、重新启动调试和配置应用程序启动。我们最大的问题之一是很容易打开和忘记


要关闭它,请切换到诊断工具中的CPU使用选项卡,然后按“启用CPU收集”按钮(文本因VS版本而异)。上面的CPU图表应该从绿色切换到蓝色,表示它已关闭。此外,在最新版本的Visual Studio中,我们增加了资源限制,如果系统上的磁盘或内存使用率过低,将禁用诊断工具,这在启用并忘记CPU工具时很常见。

@orion6.andre.jager,在工具->选项->IntelliTrace下,取消选中“启用IntelliTrace”,然后使用诊断工具,结果如何?这种行为并不新鲜,它一直都是这样。您找到的解决方法是正确的。只有当你真的,真的需要它的时候才打开它,最好是在一个适度的单元测试风格的程序上。这是一个wiz-bang功能,有助于让程序员升级到VS2015,并让新手了解他们的程序对系统的影响。但是,当他们学会编写高性能程序时,它几乎在他们真正需要它的时候耗尽了汽油。它根本不能扩展,也不能。顺便说一句,恭喜你@Jack翟MSFT。在打开“调试时启用诊断工具”之前,我打开了“启用IntelliTrace”。不过,这并没有解决问题。@Jack翟MSFT,谢谢你的链接。与链接中描述的问题相反,我没有任何内存泄漏。在我的情况下,进程正在以>200 mb/秒的速度将数据写入光盘,并且不会停止Visual Studio的停止和恢复。@orion6.andre.jager,很抱歉我的误解,如果我得到任何最新信息,我将报告此问题并与其他成员讨论,我将在这里分享。一个巨大的21GB
System.1.etl
文件被丢弃在我的系统上,我不断收到磁盘空间警告,直到我意识到发生了什么。我不确定磁盘空间的默认资源限制是否有意义。基于总磁盘空间而不是可用空间可能不是最好的主意。我还可以确认,磁盘限制功能在最新版本的Visual Studio(15.5.2)上肯定不起作用。不幸的是,使用可用磁盘空间有点复杂,因为它是一个移动目标,可能会导致轻微的性能损失,但我会看一看。如果磁盘限制功能不起作用,请通过VS中的反馈提交错误。注意,我们的会话持续时间至少为5分钟,即使超过了磁盘或内存限制,我们仍将继续运行。这是为了帮助那些试图收集痕迹但达到极限的小型驱动器的用户。