I have an instance of JBoss 4.0.5.GA running 3 wars. When JBoss starts up it looks like it has almost 2 gig of free memory. Over 3 or 4 days that free memory is used up and JBoss locks up requiring a restart. So I suspect a memory leak. This weekend i watched the memory decline and when it got pretty low (200 meg) I stopped and restarted each war from the JMX console one at a time. I thought if one of my wars had a memory leak I would see GC and the free memory would jump back up. This is not what happened. There was no memory recovered. I had to restart JBoss. I do see little GCs happening occasionally but I don't understand why stopping a war would not release a chunk of memory? Xmx is 2g so is Xmx. I am running Java 1.5.0_17.