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¶
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
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.