Yes, it was not clear from the discussion that the problem is a design issue within the JVM and that removing PermGen really just pushes the problem to another generation. I'd love a deep dive into this issue by the The Posse and/or guests. It's a little pathetic/scary that if you redeploy a Java app one too many times to a container, it may blow up (typically stop responding at all and needing a kill -9). It makes me question the whole container aspect and instead deploy with embedded light-weight containers (Jettt/Grizzly).
/Casper On Friday, September 7, 2012 12:01:25 PM UTC+2, kirk wrote: > > Hi all, > > Just finished listening to 393 while on my way back home from Zurich. I've > been watching the removal of PermGen and I have to say that I'm not all the > excited about it leaving us. Dick mentioned that reloading applications > into TomCat could fill up perm space. Indeed it does but the old app you've > replaced should be GC'ed.. but it can't be because of dreaded classloader > leaks. And that is only one scenario where a developer, doing nothing > wrong, ends up leaking classes into perm space. I should point out that > IBM's JVMs and JRockit, neither of which have permgen also suffer from this > classloader leak problem. The problem is; those classes leak into general > heap space and this degrades GC throughput while it fills up heap until > eventually you degrade into Full GCs and the OOME. WIth Perm Gen you run > out of memory (sooner) but in a way that doesn't degrade performance while > it's happening. Removing Perm Gen is fixing the symptom, not the > problem.ac > > Not exactly what you're looking for but there is a Thread constructor that > allows you to set Java stack size. The problem with native stack is that > it's sandwiched between text and C heap. You'd have to move C heap to > dynamically change the size of a stack frame and although we can do that > for stuff in Java heap... I don't know how you'd do it generically in C > heap. But again, this problem would be mute if proper support for recursion > was put into the JVM. > > -- Kirk > > -- You received this message because you are subscribed to the Google Groups "Java Posse" group. To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/DOHi1gvq-pMJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
