1

我有我的开发环境如下: -的Visual Studio 2012专业版,将导致CPU达到100%,VM将挂起,然后重新启动获得

  1. 的Visual Studio 2012专业版。版本11.0.50727.1
  2. Windows Server 2012 R2。
  3. asp.net mvc4 web应用程序。

现在自上周以来,我面临的这些问题: -

    当我运行在Visual Studio中我的asp.net MVC Web应用程序
  1. ,我会收到以下错误,当我访问我的ASP。净MVC主页: -
500 Internal Server Error 
许多运行后
  • ,CPU将达到100%,我的开发机器将自动重新启动。现在我检查我们的系统管理员,他们提到虚拟机得到重启,因为高CPU ...
  • 所以我不知道如果问题是在VS 2012内,还是在虚拟机本身内.. baring in介意VM托管IIS内部的一些测试应用程序,并且我们可以毫无问题地访问这些应用程序。我也可以打开sql managemnt工作室,并与数据库一起工作,没有任何问题。所以在请求扩展DEV机器规格以避免高CPU时,我想确保问题不在Visual Studio本身内?

    这里是从服务器管理器2屏幕的VM得到了重新启动后: -

    enter image description here

    enter image description here

    现在我不知道我是如何解决这一问题? 谢谢

    +0

    导致500错误的原因很多,但如果您遵循这些教程,可能的原因之一是将XML元素放置在其中一个Web.config转换文件的错误位置。例如,如果您将插入元素的转换置于之下,而不是直接位于下,则会出现此错误。您可以使用Web.config转换预览功能来验证转换是否按预期工作。如果找到编码不正确的转换,解决方案是更正转换文件并重新部署。 – Webruster

    +0

    continuation ....如果错误不明显,请尝试注释转换并重新部署以查看哪个导致500错误。 – Webruster

    +0

    该页面正在运行哪些代码?有些东西被困在一个循环中,最终会让CPU猜到,无论是在你的代码还是在像Webruster所提到的服务器配置中。 –

    回答

    1

    如果MVC应用程序抛出未处理的异常,则500服务器错误是来自IIS的标准错误报告。因此,您的MVC应用程序内的代码以某种方式发生故障。

    如果发生这种情况,您通常会在Visual Studio中以调试模式运行您的站点以捕获异常并调试出问题。我不知道你的应用程序实际上做了什么,但我可以推测以下可能的原因;

    1)IIS收到您的电话。 2)MVC代码产生很高的CPU负载,做一些错误的代码。 3)调用应用程序超时它的HTTP调用,并再次调用。 4)创建另一个IIS实例来处理新的HTTP调用(取决于你的IIS设置) 5)第二个IIS实例和(2)一样,但在不同的线程中,导致更多的资源消耗。

    最终,当您的IIS实例超时或抛出异常时,您会收到500服务器错误。你的“有用的”系统管理员会杀死你的虚拟机。杀死虚拟机完全是不必要的 - IIS对于失控的IIS进程(包括IIS应用程序池超时,自动IIS应用程序池回收,IIS应用程序池CPU限制和IIS应用程序池最大内存使用率)具有完全适当的安全防护措施。所有这些配置选项都可以防止操作系统被失控的IIS应用程序所破坏。

    没有任何洞察你的网站在后台做什么,我们不能再进一步,但如果你修改你的问题,并提供一些MVC代码可能会发现一些可能的东西。

    0

    我有一个与Visual Studio 2013类似的错误。错误竟然是我的Addins。如果您正在使用加载项,请尝试禁用工具 - >加载项管理器...中的可疑插件,然后重新启动Visual Studio。如果您使用的是扩展程序,请尝试从工具 - >扩展程序和更新中查看这些内容...

    您可以选择以安全模式运行Visual Studio,它基本上会执行相同的操作,但会禁用所有插件。 devenv.exe /SafeMode

    希望这会有所帮助。

    0

    我有一些类似的问题,在Windows Server 2012中运行Visual Studio 2012

    升级你的Visual Studio和Windows服务器两者。它将解决问题

    相关问题