Java 内存使用量持续增长直到出现 OutOfMemory 异常
Java Memory usage continuously growing till OutOfMemory Exception
我有一个程序可以解析文件并将数据存储在 mysql-Database 中。
我的问题是堆 space(我使用 VisualVM 来跟踪它们)正在增长。
并且内存使用量(ps aux --sort -rss)也在增长。
当 HeapSize 达到 MaxHeapsize ~128 MB 时,我得到一个 OutOfMemory-Exception。
如何确定这是哪些数据?或者什么没有被释放?
您需要使用 VisualVM 中的内存分析器进行内存跟踪。
一个简单的内存分析方法是运行
jmap -histo:live {pid} | head
如果您正在使用 SQL,内存泄漏的最可能原因是未能清理您的 JDBC 资源。我建议您确保关闭 Statements 和 ResultSets。
我有一个程序可以解析文件并将数据存储在 mysql-Database 中。 我的问题是堆 space(我使用 VisualVM 来跟踪它们)正在增长。 并且内存使用量(ps aux --sort -rss)也在增长。
当 HeapSize 达到 MaxHeapsize ~128 MB 时,我得到一个 OutOfMemory-Exception。
如何确定这是哪些数据?或者什么没有被释放?
您需要使用 VisualVM 中的内存分析器进行内存跟踪。
一个简单的内存分析方法是运行
jmap -histo:live {pid} | head
如果您正在使用 SQL,内存泄漏的最可能原因是未能清理您的 JDBC 资源。我建议您确保关闭 Statements 和 ResultSets。