![服务器繁忙时 IIS 出现奇怪错误](https://linux22.com/image/499645/%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%B9%81%E5%BF%99%E6%97%B6%20IIS%20%E5%87%BA%E7%8E%B0%E5%A5%87%E6%80%AA%E9%94%99%E8%AF%AF.png)
在 Windows 2008/IIS 上,每小时都会调用一个处理量很大的 asp.net 页面。如果该服务器没有执行其他任何操作,则一切正常。如果服务器同时处理其他 Web 请求,我们偶尔会收到此错误:
.NET Runtime version 2.0.50727.4016 - Fatal Execution Engine Error (000007FEF630A5C6) (80131506)
和
Faulting application w3wp.exe, version 7.0.6002.18005, time stamp 0x49e03238, faulting module mscorwks.dll, version 2.0.50727.4016, time stamp 0x49cc56fb, exception code 0xc0000005, fault offset 0x000000000019734e, process id 0x%9, application start time 0x%10.
然后 iis 死机并重新启动。如何获取有关导致此错误的原因以及如何修复它的更多信息?
答案1
根据泰丝·费兰德斯:
致命执行引擎异常
致命执行引擎异常相当罕见,但一旦发生通常就是错误。这意味着由于某种原因,我们进入了 CLR 中不该进入的某段代码,而 CLR 决定,如果有人进入此处,我们就会抛出致命执行引擎异常并终止运行,因为我们无法从此时恢复。在事件日志中,这将被记录为执行引擎异常发生,列出的地址将准确说明它在代码中发生的位置。如果您遇到其中之一,但找不到有关它的知识库文章,请联系支持人员,最好提供崩溃转储,因为这将大大加快解决问题的时间。
她的博客上也有很多关于为调试目的生成崩溃转储等的信息。
答案2
这可能不是一个容易追踪的错误。我应该查看的一些地方是:
- IIS 日志,看看你是否能知道问题发生之前发生了什么
- 事件查看器,这可能是硬件问题,你碰到了坏内存
- 硬件供应商的硬件日志
- 打开失败请求跟踪并查看错误发生之前记录的内容
- 看看您是否可以使用 Debug Diag 捕获错误并在问题发生时获取转储
答案3
您是否尝试过在服务器上安装其他 .NET Framework 版本的情况下运行应用程序?如果 .NET Runtime 版本 2.0.50727.4016 对您来说很重要 - 可能是这KB文章(和可用的补丁)将帮助您......