Graal VisualVM

Starting from Oracle JDK 9, Java VisualVM has moved to the GraalVM, an innovative, high-performance polyglot VM developed at Oracle Labs. Similar to Java VisualVM, Graal VisualVM is a stable tool built on top of the VisualVM and tested with the concrete GraalVM release.

Graal VisualVM adds a special support for the GraalVM features, like recognizing live GraalVM processes, and analyzing applications at the guest language level (Graal Sampler, Heap Viewer). Currently JavaScript, Python, Ruby and R languages are supported. Graal VisualVM is also able to perform basic monitoring of native-image processes.

Graal VisualVM is bundled with both GraalVM CE and GraalVM EE, which can be downloaded here. Similar to Java VisualVM, Graal VisualVM can be started using <graalvm_home>/bin/jvisualvm or <graalvm_home>\bin\jvisualvm.exe.

Graal VisualVM CPU Sampler attached to a Ruby process

Graal VisualVM Heap Viewer displaying Ruby process heap summary

GraalVM is a universal virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Kotlin, Clojure, and LLVM-based languages such as C and C++.

GraalVM removes the isolation between programming languages and enables interoperability in a shared runtime. It can run either standalone or in the context of OpenJDK, Node.js, Oracle Database, or MySQL. Learn more.