tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Tomcat Wiki] Update of "FAQ/Deployment" by KonstantinKolinko
Date Fri, 01 Feb 2013 01:35:29 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change notification.

The "FAQ/Deployment" page has been changed by KonstantinKolinko:
http://wiki.apache.org/tomcat/FAQ/Deployment?action=diff&rev1=9&rev2=10

Comment:
More details on PermGen leaks

  
  <<Anchor(Q2)>>'''Why does the memory usage increase when I redeploy a web application?'''
  
+ That is because your web application has a memory leak.
+ 
- Because the Classloader (and the Class objects it loaded) cannot be recycled. They are stored
in the permanent heap generation by the JVM, and when you redeploy a new class loader is created,
which loads another copy of all these classes. This can cause {{{OufOfMemoryErrors}}} eventually.

+ A common issue are "!PermGen" memory leaks. They happen because the Classloader (and the
Class objects it loaded) cannot be recycled unless some requirements are met (*). They are
stored in the permanent heap generation by the JVM, and when you redeploy a new class loader
is created, which loads another copy of all these classes. This can cause {{{OufOfMemoryErrors}}}
eventually. 
+ 
+ (*) The requirement is that all classes loaded by this classloader should be able to be
gc'ed at the same time.
+ 
+ Starting with Tomcat 6.0.25 there is a tool in the Manager webapp to help diagnose such
misbehaving applications. See [[FAQ/Memory]] and [[MemoryLeakProtection]].
  
  ----
- [[CategoryFAQ|CategoryFAQ]]
+ [[CategoryFAQ]]
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message