Java tomcat6 OOM, massive amount of com.mysql.jdbc.StatementImpl instances -
i've got java web application runs fine 2 days. after hangs oom heap space errors.
a thread dump gives following information heap:
heap par new generation total 38336k, used 38181k [0x00000000d5a00000, 0x00000000d8390000, 0x00000000d8390000)
eden space 34112k, 100% used [0x00000000d5a00000, 0x00000000d7b50000, 0x00000000d7b50000) space 4224k, 96% used [0x00000000d7b50000, 0x00000000d7f49628, 0x00000000d7f70000) 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)
i made heapdump read visualvm. shows me there massive amount (1.2 million) of statementimpl instances take lot of memory.
some information application:
- 16 sql connections
- 32 insert statements per second
- about 200 procedure calls per second
all inserts , procedure calls go divided on 16 connections. never close connections, since keep using them. i'm 100% sure close statements , preparedstatements.
what cause of large amount of statementimpl instances?
Comments
Post a Comment