0

我只是在寻找一些反馈或我应该检查的东西......并不是一个明确的答案。

我正在追踪 .NET 服务发生的 OOM 错误。该服务长时间徘徊在 1.3 GB 左右。我意识到这是一个非常大的内存量,但是服务在这个级别上运行很长时间(最多大约一个月没有错误)运行得非常好。然后它在正常操作下随机崩溃。

我一直在跟踪此服务的私有字节、所有堆中的字节、工作集和 CPU 使用情况。当问题发生时,工作集在大约 30 秒内从大约 700 MB 飙升到 1.3 GB,然后服务崩溃。当这种情况发生时,其他(私有字节、所有堆中的字节和 CPU)的读数会冻结并保持完全相同,即使通常这三个在每次更新它们的值时读取的数字略有不同。

这对我来说有点奇怪。我之前追过一些内存泄漏,但这次有很大不同......有人有什么建议吗?欢迎任何想法,反馈,反思。谢谢。

4

1 回答 1

1

崩溃它应该是创建一个崩溃转储文件。使用 windbg 和 SOS 打开它,您应该能够获得导致异常的步骤的堆栈跟踪。如果没有创建故障转储,您可以安装调试诊断工具并让它为您创建转储。

于 2012-12-12T16:43:48.287 回答