explaingit

alibaba/arthas

Analysis updated 2026-06-20

37,288JavaAudience · ops devopsComplexity · 3/5Setup · easy

TLDR

Arthas is a Java diagnostic tool from Alibaba that attaches to a running application without restarting it, letting you trace slow methods, inspect live values, decompile classes, and monitor threads in real time.

Mindmap

mindmap
  root((Arthas))
    What it does
      Live Java diagnostics
      No restart needed
      Attaches to running JVM
    Key commands
      trace slow methods
      watch live values
      decompile classes
      thread CPU monitor
    Use cases
      Production debugging
      Version verification
      Memory leak finding
      Intermittent bugs
    Access modes
      Terminal CLI
      Remote web console
    Platforms
      Linux macOS Windows
      Java 6 to current
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Attach to a live production Java service and trace which method is causing a slowdown without restarting the process or adding log statements.

USE CASE 2

Decompile a running class to verify that the version actually deployed in production matches what you think you shipped.

USE CASE 3

Monitor CPU-heavy threads and garbage collection metrics on a running JVM to find a memory leak or performance bottleneck.

USE CASE 4

Inspect a method's input parameters and return values in real time to diagnose an intermittent bug without a full redeploy cycle.

What is it built with?

Java

How does it compare?

alibaba/arthaseugenp/tutorialsashishps1/awesome-system-design-resources
Stars37,28837,35236,974
LanguageJavaJavaJava
Setup difficultyeasyeasyeasy
Complexity3/52/51/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Install by downloading a single jar file and running it with the java command, requires access to the target JVM process ID.

License information is not mentioned in the explanation.

In plain English

Arthas is a Java diagnostic tool from Alibaba that lets you inspect and troubleshoot a running Java application without stopping it, restarting it, or modifying its code. The core problem it solves is the difficulty of debugging production issues: production environments typically cannot be paused or attached to a debugger, and adding log statements requires a full redeploy cycle. Arthas attaches to an already-running Java process and gives you live visibility into what it is doing. Arthas works by injecting a Java agent into the target JVM (Java Virtual Machine, the runtime that executes Java programs). Once attached, it gives you an interactive command-line interface where you can decompile classes to see what code is actually running in production, trace method calls to find which one is slow, view method parameters and return values in real time, check which threads are consuming the most CPU, inspect classloader hierarchies to diagnose jar version conflicts, monitor system metrics like garbage collection and memory usage, and even patch a running class without redeployment. It supports both local access via a terminal and remote access via a web browser console. You would use Arthas when a production Java service is behaving unexpectedly and you need to diagnose it without taking the service offline, for example, tracking down an intermittent slowdown, verifying that a recently deployed class is the expected version, or finding which code path is throwing an exception. It runs on Java 6 through current versions and supports Linux, macOS, and Windows. The tech stack is Java, and it installs by downloading a single jar file and running it with the java command.

Copy-paste prompts

Prompt 1
How do I attach Arthas to a running Java process and use the trace command to find which method is taking the most time?
Prompt 2
Show me the Arthas commands I need to check which version of a class is currently loaded in a production JVM.
Prompt 3
How do I use Arthas watch to print the arguments and return value of a specific method every time it is called?
Prompt 4
Walk me through using Arthas to find which threads are consuming the most CPU in a running Java application.
Prompt 5
How do I access the Arthas web console remotely to diagnose a Java service running on a server I can only reach via browser?

Frequently asked questions

What is arthas?

Arthas is a Java diagnostic tool from Alibaba that attaches to a running application without restarting it, letting you trace slow methods, inspect live values, decompile classes, and monitor threads in real time.

What language is arthas written in?

Mainly Java. The stack also includes Java.

What license does arthas use?

License information is not mentioned in the explanation.

How hard is arthas to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is arthas for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub alibaba on gitmyhub

Verify against the repo before relying on details.