I’m using JBoss 7.1.3, JDK 1.6, and Mac 10.9.1. After a number of deploys/undeploys of my WAR file using the Maven Jboss AS plugin, my server dies with the below error …
15:05:10,120 ERROR [org.xnio.listener] (Remoting "daves-macbook-pro:MANAGEMENT" read-1) A channel event listener threw an exception: java.lang.OutOfMemoryError: PermGen space
sudo jmap -dump:format=b,file=/tmp/leak 16274
sudo jhat -J-Xmx2048m /private/tmp/leak
But when I visit the resulting page, http://locohost.mymachine.com:7000/ (except it says "localhost" and not "locohost.mymachine.com"), the output is totally illegible. There are a bunch of lines with references to classes we’ve written, for example
Package org.mainco.subco.myproject.interaction.domain
class org.mainco.subco.myproject.interaction.domain.Note [0x2d145258]
class org.mainco.subco.myproject.interaction.domain.NoteDto [0x2a8de180]
class org.mainco.subco.myproject.interaction.domain.Note_ [0x2baa5980]
But how do I trace that back to parts of our code that are contributing to these PermGen errors?