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-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to