GraalVM Native Image Distribution

Apache SkyWalking provides an alternative distribution built with GraalVM native image, delivered as a self-contained binary with faster startup and lower memory footprint.

Why Choose the GraalVM Distro

Aspect Standard OAP (JVM) GraalVM Distro
Startup Seconds to minutes Instant
Memory 1 GB+ heap typical ~512 MB
Artifact JARs + JVM required ~203 MB single binary
Storage backends BanyanDB, Elasticsearch, MySQL, PostgreSQL BanyanDB only
Module set Dynamically loaded via SPI Fixed at build time
DSL rules (OAL, MAL, LAL, Hierarchy) Compiled at startup Pre-compiled at build time

Benchmark results on JVM class initialization and runtime resource usage (Apple M3 Max, BanyanDB backend, 20 RPS sustained load):

Metric Standard OAP (JVM) GraalVM Distro Improvement
Cold boot 635 ms 5 ms ~127x faster
Memory (idle) ~1.2 GiB ~41 MiB 97% reduction
Memory (20 RPS) 2,068 MiB 629 MiB 70% reduction
CPU (median, 20 RPS) 101 millicores 68 millicores 33% reduction
Throughput Baseline Identical No difference

See the full benchmark blog post for details.

The GraalVM distro is a good fit when you want:

  • Container-friendly deployments with minimal image size and instant readiness.
  • Lower resource usage for small-to-medium scale environments.
  • BanyanDB as your storage backend, which is already the recommended default.

Limitations

  • BanyanDB is the sole supported storage backend. Elasticsearch, MySQL, and PostgreSQL are not available.
  • Modules are selected at build time. Runtime SPI discovery is not supported.
  • DSL rules are pre-compiled at build time. Dynamic rule changes require rebuilding the binary.

All existing SkyWalking agents, UI, and CLI tools remain fully compatible.

Download

Pre-built binaries are available for Linux (AMD64/ARM64) and macOS (ARM64) on the SkyWalking Downloads page.

Docker images are available on Docker Hub as apache/skywalking-graalvm-distro.

Version Mapping

Each GraalVM distro release corresponds to a specific SkyWalking OAP version. See the version mapping table for the exact correspondence.

Documentation

For setup instructions, configuration details, and the full documentation, refer to the SkyWalking GraalVM Distro documentation.