有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java tomcat6,大量的com。mysql。jdbc。语句impl实例

我有一个Java web应用程序,可以正常运行大约两天。之后,它会挂起,并出现OOM堆空间错误

线程转储提供有关堆的以下信息:

Heap par new generation total 38336K, used 38181K [0x00000000d5a00000, 0x00000000d8390000, 0x00000000d8390000)
eden space 34112K, 100% used [0x00000000d5a00000, 0x00000000d7b50000, 0x00000000d7b50000) from space 4224K, 96% used [0x00000000d7b50000, 0x00000000d7f49628, 0x00000000d7f70000) to space 4224K, 0% used [0x00000000d7f70000, 0x00000000d7f70000, 0x00000000d8390000) concurrent mark-sweep generation total 481728K, used 481727K [0x00000000d8390000, 0x00000000f5a00000, 0x00000000f5a00000) concurrent-mark-sweep perm gen total 38172K, used 22900K [0x00000000f5a00000, 0x00000000f7f47000, 0x0000000100000000)

我用VisualVM阅读了一篇文章。这表明有大量(120万)语句impl实例占用了大量内存

有关应用程序的一些信息:

  • 16个sql连接
  • 每秒插入32条语句
  • 每秒大约200个过程调用

所有的插入和过程调用都在这16个连接上进行分配。我从不关闭连接,因为我一直在使用它们。我百分之百确定我会结清所有报表和准备好的报表

大量StatementImpl实例的原因可能是什么


共 (0) 个答案