The previous article in this series, Metaspace Architecture purposely left out the Compressed Class Space. That one further complicates the picture. Lets talk about it.| stuefe.de
MaxMetaspaceSize and CompressedClassSpaceSize are our knobs to control Metaspace size. Now, these parameters can be a tad confusing. For one, there are two of them, and they have subtly different meanings, and they influence each other. So lets take a closer look. We will explain how those parameters work in detail. Then, we will analyze how much Metaspace a single class on average needs. Finally, we will attempt to derive some rough rules of thumb and also examine what the default behavior is.| stuefe.de
Java 16 shipped and with it JEP 387: Elastic Metaspace. JEP 387 was massive, my most extensive OpenJDK contribution so far.| stuefe.de
With JDK 11, we added a new diagnostic command to jcmd: VM.metaspace. This command is very useful to analyze Metaspace consumption. So, lets dive in and use this to revisit our Little WildFly Server That Could from previous articles. We describe the command output and options and how to use it to spot typical waste points.| stuefe.de
Analyzing OOM-kills is no fun. You fly mostly blind, have no meaningful logs - your JVMs just keep disappearing. It can be highly frustrating work. If that sounds familiar, we may have something for you.| stuefe.de
SAP’s own Java VM SapMachine comes with a handy monitoring tool you may not know: SapMachine Vitals. Think sysstat tools - pidstat, iostat, etc - plus JVM stats rolled into one and baked into our JVM for your convenience. Curious? After me.| stuefe.de
I gave a talk about Metaspace and the upcoming new Elastic Metaspace prototype at FOSDEM 2020. >Slides| stuefe.de
A short description of how I build OpenJDK on Windows.| stuefe.de
JVM engineer at Red Hat. OpenJDK Committer/Reviewer. Formerly SAP (see also: SapMachine). This page is personal; opinions are my own and do not reflect those of my employer.| stuefe.de
We dive into the architecture of Metaspace. We describe the various layers and components and how they work together. This will be mainly interesting to folks who either want to hack hotspot and the Metaspace or at least really understand where that memory goes and why we could not just use malloc.| stuefe.de
The OpenJDK uses Metaspace to store its class metadata. It can contribute a large part to the non-Java-heap memory footprint of a Java VM process. We explain what it is and why we need it. A short, quick and hopefully easy read without diving too deep into VM internals. Should be digestible by everyone.| stuefe.de