我只是在寻找一些反馈或我应该检查的东西......并不是一个明确的答案。
我正在追踪 .NET 服务发生的 OOM 错误。该服务长时间徘徊在 1.3 GB 左右。我意识到这是一个非常大的内存量,但是服务在这个级别上运行很长时间(最多大约一个月没有错误)运行得非常好。然后它在正常操作下随机崩溃。
我一直在跟踪此服务的私有字节、所有堆中的字节、工作集和 CPU 使用情况。当问题发生时,工作集在大约 30 秒内从大约 700 MB 飙升到 1.3 GB,然后服务崩溃。当这种情况发生时,其他(私有字节、所有堆中的字节和 CPU)的读数会冻结并保持完全相同,即使通常这三个在每次更新它们的值时读取的数字略有不同。
这对我来说有点奇怪。我之前追过一些内存泄漏,但这次有很大不同......有人有什么建议吗?欢迎任何想法,反馈,反思。谢谢。