我试图了解用 C# 编写的应用程序中发生了什么。下面是从性能监视器拍摄的几张图片。蓝线是所有堆中的#Bytes。绿线是大对象堆大小。我启动应用程序并登录。应用程序保持空闲状态。第一张图片显示 LOH 因某种原因增加然后下降。一个图案很清晰。什么是造成这种行为的原因?
更多的。我通过 ODP.NET 使用 Oracle 数据库从 A(见下图)开始进行一些繁重的处理。之后,该应用程序再次保持空闲状态。LOH 不会下降。相反,它出于某种原因不断增加。请注意,应用程序处于空闲状态。它只是在我的桌面上打开。我什至没有与它互动。
内存不断增加(每张图像代表 1:15:00)。
超过 2 小时后,它突然减少,之后又开始增加/减少(见下文),如第一张图片所示。应用程序一直处于空闲状态。到底是怎么回事?是内存泄漏吗?我不这么认为。我们分析了该应用程序,但找不到任何东西。LOH 也在没有任何活动的情况下增加。没有与 Oracle 数据库的开放连接。ODP.NET 会是罪魁祸首吗?