ODP.NET内存泄漏

ODP.NET内存泄漏,.net,oracle,odp.net,.net,Oracle,Odp.net,我为重复的问题道歉。5年前我发现了这个问题 但由于网站限制,无法对此发表评论。我也试着看看我是否可以联系OP,但不知道如何联系,如果可能的话。他们的问题似乎从未得到充分的回答 我已经与内存泄漏斗争了两周,就像前面提到的ConnDataPool哈希表从未释放内存(包含大量UTF8CommandText对象)一样 我的所有连接、命令、参数、数据读取器等都包含在Using块中,但这些对象仍然存在。有人见过这个吗?您的解决方案是什么?尝试对所有Oracle对象调用Close and Dispose()

我为重复的问题道歉。5年前我发现了这个问题

但由于网站限制,无法对此发表评论。我也试着看看我是否可以联系OP,但不知道如何联系,如果可能的话。他们的问题似乎从未得到充分的回答

我已经与内存泄漏斗争了两周,就像前面提到的ConnDataPool哈希表从未释放内存(包含大量UTF8CommandText对象)一样


我的所有连接、命令、参数、数据读取器等都包含在Using块中,但这些对象仍然存在。有人见过这个吗?您的解决方案是什么?

尝试对所有Oracle对象调用Close and Dispose(),看看这是否有帮助。有时垃圾收集器速度太慢,并且由于您使用的ODP.NET可能是非托管的,因此GC没有意识到存储了多少内存。我们最初在对象上调用close和dispose。然后我改为使用“Using”块,希望它能解决这个问题。显然不是。您使用的ODP.NET的完整版本是什么?请确保您已修补到最新版本,尽管除了没有人打电话给Dispose()之外,我已经多年没有看到关于内存泄漏的投诉了。这很奇怪。我很不善于处理,而且我从来没有遇到过内存泄漏的问题。你能发布一些示例代码来演示这个问题吗?包括命令调用的类型——插入、选择、存储过程等等……使用ODP.NET 11.2.0.4,我们还没有升级到Oracle 12。