Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the complexities and challenges of running Java Virtual Machines (JVMs) inside Docker containers in this 47-minute Devoxx conference talk. Delve into the benefits, downsides, and lessons learned from containerizing Java applications, with a focus on efficient hardware utilization. Learn how to tune memory limits, avoid out-of-memory issues, and track native memory usage. Discover essential operating system tools for container awareness and debugging techniques. Gain insights on external monitoring tools, thread pool tuning for various frameworks, and best practices for optimizing JVM performance within containerized environments. Understand the intricacies of CPU limiting, shares, and quotas to maximize resource efficiency in your containerized Java applications.
Syllabus
Intro
Overview
Deployment models
Multiple JVMs on the same machine?
JVM ergonomics
Docker
Tools
PID namespace
Tool: Htop
Limiting memory
Disabling swap
Sizing the memory for a JVM
Native Memory Tracking
Tool: jcmd
It isn't just one thread pool in Jetty!
Overriding
Solution?
Ratpack threads
It isn't just your web framework
Limiting CPU - shares
Understanding CPU shares
CPU quota
JVM inside containers
Taught by
Devoxx