Advanced Usage

Basic

  • help - display Arthas help
  • cls - clear the screen
  • session - display current session information
  • reset - reset all the enhanced classes. All enhanced classes will also be reset when Arthas server is closed by shutdown
  • version - print the version for the Arthas attached to the current Java process
  • history - view command history
  • quit/exit - exit the current Arthas session, without effecting other sessions
  • shutdown - terminate the Arthas server, all Arthas sessions will be destroyed
  • keymap - keymap for Arthas keyboard shortcut

JVM

  • dashboard - dashboard for the system’s real-time data
  • thread - show java thread information
  • jvm - show JVM information
  • sysprop - view/modify system properties
  • sysenv — view system environment variables
  • New! getstatic :clap: - examine class’s static properties

class/classloader

  • sc - check the info for the classes loaded by JVM
  • sm - check methods info for the loaded classes
  • dump - dump the loaded classes in byte code to the specified location
  • redefine - load external *.class files and re-define it into JVM
  • jad - decompile the specified loaded classes
  • classloader - check the inheritance structure, urls, class loading info for the specified class; using classloader to get the url of the resource e.g. java/lang/String.class

options

  • options - check/set Arthas global options

pipe

Arthas provides pipe to process the result returned from commands further, e.g. sm org.apache.log4j.Logger | grep <init>. Commands supported in pipe:

  • grep - filter the result with the given keyword
  • plaintext - remove the color
  • wc - count lines

async in background

async can be handy when a problem is hardly to reproduce in the production environment, e.g. one watch condition may happen only once in one single day.

  • job control - use > to redirect result into the log file, use & to put the job to the background. Job keeps running even if the session is disconnected (the session lifecycle is 1 day by default)
  • jobs - list all jobs
  • kill - forcibly terminate the job
  • fg - bring the suspend job to the foreground
  • bg - put the job to run in the background

Web Console

Arthas supports living inside a browser. The communication between arthas and browser is via websocket.