The Dark Side of Java
summary
A case study of production troubleshooting for a high-load Java system where problems were caused by using native (JNI) functions. The talk examines how native memory usage lies outside the JVM garbage collector’s control and challenges the idea that Java developers never need to monitor memory, showing which memory areas GC doesn’t manage and why that caused operational issues.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 1:03Speaker and topic
- 2:06System architecture context
- 4:37First incident effects
- 8:14Linux update false blame
- 11:27Root cause in app
- 12:52Hardware upgrade
- 14:19Dump analysis
- 17:17Crash cause: native threads
- 20:30Linux memory issue
- 21:35Solution and impact
- 22:42Lessons and monitoring
- 23:50Third-party library risks
- 25:37JVM and GC limits
- 26:40Q&A
related talks
34mTroubleshooting Native Memory Issues in Java Applications
43mTroubleshooting Memory Problems in Java Applications
32mMastering JVM Memory Troubleshooting - From OutOfMemoryErrors to Leaks
47mManaging and monitoring a JVM
01h 01mNative Code, Off-Heap Data and Java
55mWhat's Going On in Java?
46mA Guide to Memory Analysis for JVM Applications
51mA Healthy diet for your Java application
