JVM Troubleshooting Guide

About the author

Pierre-Hugues Charbonneau (nickname P-H) is working for CGI Inc. Canada for the last 10 years as a senior IT consultant. His primary area of expertise is Java EE, middleware & JVM technologies.

He is a specialist in production system troubleshooting, root cause analysis, middleware, JVM tuning, scalability and capacity improvement; including internal processes improvement for IT support teams.

P-H is the principal author at Java EE Support Patterns.

Your Java VM is basically the foundation of your Java program which provides you with dynamic memory management services, garbage collection, Threads, IO and native operations and more. The Java Heap Space is the memory “container” of you runtime Java program which provides to your Java program the proper memory spaces it needs (Java Heap, Native Heap) and managed by the JVM itself.

Determination of proper Java Heap size for a production system is not a straightforward exercise. Multiple performance problem can occur due to inadequate Java Heap capacity and tuning. In this book we will provide some tips that can help you determine the optimal Java heap size, as a starting point, for your current or new production environment.

Some of these tips are also very useful regarding the prevention and resolution of OutOfMemoryError problems, including memory leaks. Please note that these tips are intended to “help you” determine proper Java Heap size. Since each IT environment is unique, you are actually in the best position to determine precisely the required Java Heap specifications of your client’s environment.


JVM Troubleshooting Guide includes:

  1. Oracle HotSpot JVM Memory
  2. IBM JVM Memory
  3. Oracle JRockit JVM Memory
  4. Tips for proper Java Heap size
  5. Java Threading: JVM Retained memory analysis
  6. Java 8: From PermGen to Metaspace
  7. HPROF – Memory leak analysis with Eclipse Memory Analyzer Tool (MAT)
  8. JVM verbose GC output tutorial
  9. Analyzing thread dumps
  10. Java Thread CPU analysis on Windows
  11. Case Study – Too many open files
  12. GC overhead limit exceeded – Analysis and Patterns
  13. Java deadlock troubleshooting and analysis
  14. Java Thread deadlock – Case Study
  15. Java concurrency: the hidden thread deadlocks
  16. OutOfMemoryError patterns
  17. ClassNotFoundException: How to resolve
  18. NoClassDefFoundError Problem patterns
JCG eBooks are professionally designed, downloadable collections of popular JCG content – articles, interviews, presentations, and research – covering the latest software development technologies, trends, and topics.
Back to top button