2

Are there any particular tips to design application immune to this type of error? A reason of this error is frequent reload classes from perm space and JVM can't handle right collection of space where classes reside. However Tomcat 6 has such problem when Tomcat 7 doesn't. What is difference in design of Tomcat 7 to reload classes without generating the problem?

Singagirl
  • 465
  • 1
  • 3
  • 11
  • Tomcat 7 still does this: http://stackoverflow.com/q/15523510/516433 – Lucas Apr 16 '13 at 18:16
  • Do you have any sources to back the claim it's gone in Tomcat 7? my opinion is this - hot deploy is always risking a perm gen error, and don't use Log4j, it seems to have some sort of relation :) – Eran Medan Apr 16 '13 at 18:17
  • JRebel describes their approach to avoiding the permgen problem tomcat suffers from [here](http://zeroturnaround.com/software/jrebel/resources/faq/#2). In my experience, they do a pretty good job, but the extend `ClassLoader`s to do it... – Lucas Apr 16 '13 at 18:22
  • What is causing the OOME: PermGen? – fglez Apr 17 '13 at 14:43

1 Answers1

0

In general, just up the permgen space. RAM is so cheap these days that you can afford to be generous with a 64bit JVM. However, this shouldn't happen that often once your code is in production and not subject to frequent redeployments.

Mike Thomsen
  • 36,828
  • 10
  • 60
  • 83