Java app memory leak, performance
Posted in :
A collection, I will add my comments later. Symptom: PermGen run out of space
Memory leak
Overview (Mark Thomas)
http://people.apache.org/~markt/presentations/2010-11-04-Memory-Leaks-60mins.pdf
Memory leak happened in multiple deployment (more likely happens in development)
http://stackoverflow.com/questions/7788280/memory-leak-when-redeploying-application-in-tomcat
Tomcat 7 (Mark Thomas)
http://java.dzone.com/articles/memory-leak-protection-tomcat
quote…
Application or library code that can trigger this situation include:
JDBC driver registration
Some logging frameworks
Storing objects in ThreadLocals and not removing them
Starting threads and not stopping them
There are also a number of places that using the standard Java API can trigger a similar issue. These include:
Using the javax.imageio API (the Google Web Toolkit can trigger this)
Using java.beans.Introspector.flushCaches() (Tomcat does this to prevent memory leaks caused by this caching)
Using XML parsing (the root cause is unknown due to a bug in the JRE)
Using RMI (somewhat ironically, causes a leak related to the garbage collector)
Reading resources from JAR files
Overview and use VisualVM to debug memory leak (Colm Divilly)
https://cdivilly.wordpress.com/2012/04/23/permgen-memory-leak/
Nikita Salnikov-Tarnovski
https://plumbr.eu/blog/what-is-a-permgen-leak
Performance
Overview of memory and performance of J2EE app (PDF, Steven Haines)
http://info.appdynamics.com/rs/appdynamics/images/Top_10_Java_Performance_Problems_eBook.pdf