Visual Studio ASP.NET调试在空闲时导致SQL Server高CPU

And*_*dle 6 sql-server asp.net debugging cpu-usage visual-studio

我在Windows Server 2012上使用SQL Server 2016的ASP.NET 4项目.这是一个开发环境,我是唯一的用户.当我在IIS8中运行项目并使用Visual Studio 2015的Debug - >"Attach to Process"时,它连接到我的w3wp进程就好了.但是,在任务管理器中,我可以立即看到进程"SQL Server Windows NT - 64位"跳转到CPU使用率> 20%,即使没有查询也很难.我重复了几次,这肯定与VS调试有关.当我停止调试时,它会回到0%几秒钟,但然后跳回到20%并保持在那里.

问题是在这种状态下,即使是微不足道的SQL查询也非常慢或产生超时.因此,调试甚至打开任何数据库支持的项目页面几乎是不可能的.

缓解SQL-Server并使站点再次可用的唯一方法是在Visual Studio中关闭整个解决方案.

在一般调试开始时,Visual Studio是否会启动一些(不需要的!)隐藏的SQL调试?如果是这样,我该如何禁用它?

Jas*_*ger 0

这是根据上述评论编译的答案......

问题是系统内存不足。这会导致使用大量缓慢的虚拟内存,从而导致系统停止运行。这是一个有效的答案,如果其他人遇到这个问题,应该作为将来的注释。

SQL Server“应该”将内存返回给操作系统,但实际上它的行为就像一个贪婪的小巨魔。我总是将其设置为始终有至少 2GB 可供操作系统使用。上述问题是由于内存不足引起的。限制其他程序的内存访问或增加可用的系统内存应该可以解决您的问题。