Home » Tag Archives: JVM

Tag Archives: JVM

Minimize Java Memory Usage with the Right Garbage Collector

Size matters when it comes to software. It has become clear that using small pieces within the microservice architecture delivers more advantages compared to the big monolith approach. The recent Java release of Jigsaw helps decompose legacy applications or build new cloud-native apps from scratch. This approach reduces disk space, build time and startup time. However, it doesn’t help enough ...

Read More »

How to shoot yourself in the foot building a Java Agent

Over the years of building Plumbr, we have encountered many challenging problems. Among others, making the Plumbr Java Agent perform reliably without endangering the customers’ applications, is a particularly tricky one. To safely gather all the required telemetry from a live system poses a huge set of problems to tackle. Some of them are quite straightforward while some of them ...

Read More »

JVM Statistics with jstat

I have written about several command-line tools provided with the Oracle and/or OpenJDK Java Development Kits (JDKs) in the past, but I’ve never written exclusively about the jstat tool. The Oracle JDK 9 Documentation Early Access states that jstat is used “to monitor Java Virtual Machine (JVM) statistics.” There is also a warning, “This command is experimental and unsupported.” Although ...

Read More »

Java Garbage Collectors: When Will G1GC Force CMS Out?

In JEPs proposed to target JDK 9 (2017/4/4), Mark Reinhold has written that JEP 291 (“Deprecate the Concurrent Mark Sweep (CMS) Garbage Collector”) is one of two JEPs that “have been placed into the ‘Proposed to Target’ state by their owners after discussion and review”. If things go well for JEP 291, it will be targeted for JDK 9. Reinhold ...

Read More »

How Java’s Built-In Garbage Collection Will Make Your Life Better (Most of the Time)

Discover faster, more efficient performance monitoring with an enterprise APM product learning from your apps. Take the AppDynamics APM Guided Tour! “No provision need be made for the user to program the return of registers to the free-storage list.” This line (along with the dozen or so that followed it) is buried in the middle of John McCarthy’s landmark paper, ...

Read More »

Generational disparity in garbage collection

For the last year, I have been helping the startup Instana to create a Java agent that traces executions within a Java application. This execution data is collected and jointed to generate traces of user requests as well as the resulting communication between services within the system owner’s hemisphere. This way, unstructured communication can be visualized what significantly simplifies the ...

Read More »

APM for the Non-Java Guru: What leak?

Solve App Problems 10x Faster with AppDynamics – Monitor production apps at code-level depth with minimal overhead. Start a FREE Trial! Memory, Memory, Memory… Memory is a critical part of Java, in particular, the management of memory. As a developer, memory management is not something you want to be doing on a regular basis, nor is it something you want ...

Read More »

Running -XX:CompileCommand on Windows

The HotSpot JVM provides several command-line arguments related to Just In Time (JIT) compilation. In this post, I look at the steps needed to start applying the command-line flag -XX:CompileCommand to see the just-in-time compilation being performed on individual methods. JIT Overview Nikita Salnikov-Tarnovski’s blog post Do you get Just-in-time compilation? provides a nice overview of the JIT compiler and ...

Read More »