Back to Skywalking

GraalVM Native Image Distribution

docs/en/setup/backend/graalvm-distro.md

10.4.03.4 KB
Original Source

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

AspectStandard OAP (JVM)GraalVM Distro
StartupSeconds to minutesInstant
Memory1 GB+ heap typical~512 MB
ArtifactJARs + JVM required~203 MB single binary
Storage backendsBanyanDB, Elasticsearch, MySQL, PostgreSQLBanyanDB only
Module setDynamically loaded via SPIFixed at build time
DSL rules (OAL, MAL, LAL, Hierarchy)Compiled at startupPre-compiled at build time

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

MetricStandard OAP (JVM)GraalVM DistroImprovement
Cold boot635 ms5 ms~127x faster
Memory (idle)~1.2 GiB~41 MiB97% reduction
Memory (20 RPS)2,068 MiB629 MiB70% reduction
CPU (median, 20 RPS)101 millicores68 millicores33% reduction
ThroughputBaselineIdenticalNo 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.