Slides are available at: http://java-monitor.com/forum/showthread.php?t=646
Case-by-case approach from experiences reported on java-monitor.com, from an Operations' perspective.
Memory Leak:
- diagnose:
 - Scavenger gc gives up and stop the world gc (= mark and sweep gc) takes over
 - monitor # scavenger gc's versus mark and sweep gc's
 - solution:
 - profile your app and fix your app
 - workaround: increase heap
 
- problem: System.gc() in code freezes the JVM!
 - diagnose:
 - many stop the world gc's (= mark and sweep gc)
 - low heap usage (e.g. 20%)
 - solution:
 - workaround: -XX-DisableExplicitGC
 - use findbugs and fix code
 
- problem:
 - OutOfMemoryException: Couldn't allocate native Thread
 - 32bit Systems share 4GB with OS Kernel, JVM (heap + perm space) and thread stack space.
 - solution:
 - workaround: -Xss limitThreadStack
 - migrate to 64 bit!
 
- problem:
 - verboseGC logs "promotion failed" --> stop-the-world GC (mark and sweep) is triggered
 - CMS is non-compacting: the heap can end up to be fragmented. Fragmentation can prevent promotion of young heap (eden spaces) to old heap.
 - solution:
 - bigger heap
 - no real solution
 
- problem:
 - "too many open files"
 - files not properly closed on exceptions --> file description leakage
 - GlassFish opens file-descriptors for each static file served (efficient usage of FileChannels)
 - solution:
 - check ulimit / limits of your OS
 - fix your application (findbugs)
 
- hyperthreading doesn't make any significant difference
 - use the magic "-server" switch
 
4 comments:
Dear Michaël ,
Nice summary. Hope you liked the talk?
Here are the actual slides, with a bit more details.
http://java-monitor.com/forum/showthread.php?t=646
Kees Jan
I did enjoy the talk, both from personal and professional interest. The only downside was that one hour was a bit too short for the presentation and you couldn't delve into the details.
I added the url of your slids
Dear Michaël,
The tools in action talk was only 30 minutes, so I really had to rush. On Monday night I presided a BOF on more or less the same subject. We had an hour then.
I'll ask for more time next year. :-)
Kees Jan
Thanks for this!
Post a Comment