mirror of
https://github.com/alibaba/arthas.git
synced 2026-10-20 19:54:35 +00:00
119 lines
89 KiB
HTML
119 lines
89 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en-US">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
<meta name="generator" content="VuePress 2.0.0-beta.51">
|
|
<style>
|
|
:root {
|
|
--c-bg: #fff;
|
|
}
|
|
html.dark {
|
|
--c-bg: #22272e;
|
|
}
|
|
html, body {
|
|
background-color: var(--c-bg);
|
|
}
|
|
</style>
|
|
<script>
|
|
const userMode = localStorage.getItem('vuepress-color-scheme');
|
|
const systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
if (userMode === 'dark' || (userMode !== 'light' && systemDarkMode)) {
|
|
document.documentElement.classList.toggle('dark', true);
|
|
}
|
|
</script>
|
|
<link rel="icon" href="/images/favicon.ico"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta property="og:title" content="Arthas"><meta property="og:image:alt" content="Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas"><meta property="og:image" content="/images/arthas_mate_image.png"><meta property="og:description" content="Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="600"><meta property="twitter:image:src" content="/images/arthas_mate_image.png"><meta property="twitter:image:alt" content="Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas"><meta itemprop="name" content="Arthas"><meta itemprop="image" content="/images/arthas_mate_image.png"><meta itemprop="description" content="Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas"><script>
|
|
var _hmt = _hmt || [];
|
|
(function() {
|
|
var hm = document.createElement("script");
|
|
hm.src = "https://hm.baidu.com/hm.js?d5c5e25b100f0eb51a4c35c8a86ea9b4";
|
|
var s = document.getElementsByTagName("script")[0];
|
|
s.parentNode.insertBefore(hm, s);
|
|
})();
|
|
</script><meta name="aes-config" content="pid=xux-opensource&user_type=101&uid=&username=&dim10=arthas"><script src="//g.alicdn.com/alilog/mlog/aplus_v2.js" id="beacon-aplus" exparams="clog=o&aplus&sidx=aplusSidx&ckx=aplusCkx"></script><script src="//g.alicdn.com/aes/??tracker/1.0.34/index.js,tracker-plugin-pv/2.4.5/index.js,tracker-plugin-event/1.2.5/index.js,tracker-plugin-jserror/1.0.13/index.js,tracker-plugin-api/1.1.14/index.js,tracker-plugin-perf/1.1.8/index.js,tracker-plugin-eventTiming/1.0.4/index.js"></script><title>Load External Commands | arthas</title><meta name="description" content="arthas user document">
|
|
<link rel="modulepreload" href="/assets/app.e2427bec.js"><link rel="modulepreload" href="/assets/external-command.html.cc4ab827.js"><link rel="modulepreload" href="/assets/external-command.html.3e8d782b.js"><link rel="prefetch" href="/assets/index.html.cd23e113.js"><link rel="prefetch" href="/assets/index.html.6dcd1531.js"><link rel="prefetch" href="/assets/index.html.787b4b50.js"><link rel="prefetch" href="/assets/advanced-use.html.2b80fa7d.js"><link rel="prefetch" href="/assets/advice-class.html.3778e1f2.js"><link rel="prefetch" href="/assets/agent.html.55a8cd63.js"><link rel="prefetch" href="/assets/ai.html.530e41ed.js"><link rel="prefetch" href="/assets/arthas-properties.html.1c61e69c.js"><link rel="prefetch" href="/assets/arthas3.html.11401e69.js"><link rel="prefetch" href="/assets/async.html.89c66164.js"><link rel="prefetch" href="/assets/auth.html.10e5d242.js"><link rel="prefetch" href="/assets/base64.html.26159b8a.js"><link rel="prefetch" href="/assets/batch-support.html.2f7463e9.js"><link rel="prefetch" href="/assets/cat.html.317b776a.js"><link rel="prefetch" href="/assets/classloader-metaspace.html.1c3e8440.js"><link rel="prefetch" href="/assets/classloader.html.3876b1e0.js"><link rel="prefetch" href="/assets/cls.html.60c40d73.js"><link rel="prefetch" href="/assets/commands.html.f93b9fc8.js"><link rel="prefetch" href="/assets/contact-us.html.f14b9ed1.js"><link rel="prefetch" href="/assets/dashboard.html.f3712bf4.js"><link rel="prefetch" href="/assets/docker.html.7291090b.js"><link rel="prefetch" href="/assets/download.html.1a63d650.js"><link rel="prefetch" href="/assets/dump.html.0eae962a.js"><link rel="prefetch" href="/assets/echo.html.4b25719e.js"><link rel="prefetch" href="/assets/external-command.html.9a47f025.js"><link rel="prefetch" href="/assets/faq.html.36186b06.js"><link rel="prefetch" href="/assets/getstatic.html.99701f59.js"><link rel="prefetch" href="/assets/grep.html.6ba4e7cd.js"><link rel="prefetch" href="/assets/groovy.html.6c982925.js"><link rel="prefetch" href="/assets/heapdump.html.2cfa3407.js"><link rel="prefetch" href="/assets/help.html.026cd72d.js"><link rel="prefetch" href="/assets/history.html.9f5e30aa.js"><link rel="prefetch" href="/assets/http-api.html.132670cd.js"><link rel="prefetch" href="/assets/idea-plugin.html.57e8f57c.js"><link rel="prefetch" href="/assets/install-detail.html.93881ff8.js"><link rel="prefetch" href="/assets/jad.html.49ef2409.js"><link rel="prefetch" href="/assets/jfr.html.bab2ebee.js"><link rel="prefetch" href="/assets/jvm.html.684dd27a.js"><link rel="prefetch" href="/assets/keymap.html.96d9632d.js"><link rel="prefetch" href="/assets/line.html.bfbf7f2b.js"><link rel="prefetch" href="/assets/logger.html.3d035db4.js"><link rel="prefetch" href="/assets/manual-install.html.c9b06816.js"><link rel="prefetch" href="/assets/mbean.html.0bf95e2b.js"><link rel="prefetch" href="/assets/mc.html.e292ce83.js"><link rel="prefetch" href="/assets/mcp-server.html.3cd2eec5.js"><link rel="prefetch" href="/assets/memory.html.a1b2b15c.js"><link rel="prefetch" href="/assets/monitor.html.5a803975.js"><link rel="prefetch" href="/assets/ognl-express.html.f156515d.js"><link rel="prefetch" href="/assets/ognl.html.67f38565.js"><link rel="prefetch" href="/assets/options.html.7de13b4f.js"><link rel="prefetch" href="/assets/perfcounter.html.02a2f773.js"><link rel="prefetch" href="/assets/profiler.html.0cd67a30.js"><link rel="prefetch" href="/assets/pwd.html.fe379ca1.js"><link rel="prefetch" href="/assets/quick-start.html.4a4a854b.js"><link rel="prefetch" href="/assets/quit.html.e375b368.js"><link rel="prefetch" href="/assets/redefine.html.02b78145.js"><link rel="prefetch" href="/assets/release-notes.html.daaf684d.js"><link rel="prefetch" href="/assets/reset.html.334188fe.js"><link rel="prefetch" href="/assets/retransform.html.8ab36d20.js"><link rel="prefetch" href="/assets/save-log.html.6b300b97.js"><link rel="prefetch" href="/assets/sc.html.7cdf140e.js"><link rel="prefetch" href="/assets/session.html.0168cb9d.js"><link rel="prefetch" href="/assets/sm.html.fe572b7b.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.89e33109.js"><link rel="prefetch" href="/assets/stack.html.67e8e31b.js"><link rel="prefetch" href="/assets/start-arthas.html.6198e218.js"><link rel="prefetch" href="/assets/stop.html.c39fd416.js"><link rel="prefetch" href="/assets/sysenv.html.152ba8c4.js"><link rel="prefetch" href="/assets/sysprop.html.f03585de.js"><link rel="prefetch" href="/assets/tee.html.dccc689b.js"><link rel="prefetch" href="/assets/thread.html.c9f7c599.js"><link rel="prefetch" href="/assets/trace.html.05e818e5.js"><link rel="prefetch" href="/assets/tt.html.ec638e55.js"><link rel="prefetch" href="/assets/tunnel.html.5c03c09c.js"><link rel="prefetch" href="/assets/version.html.08321a1e.js"><link rel="prefetch" href="/assets/vmoption.html.d219c85b.js"><link rel="prefetch" href="/assets/vmtool.html.b5c2a935.js"><link rel="prefetch" href="/assets/watch.html.a9d6b6e1.js"><link rel="prefetch" href="/assets/web-console.html.7d232bc6.js"><link rel="prefetch" href="/assets/index.html.e6b12e55.js"><link rel="prefetch" href="/assets/advanced-use.html.5dddb9fa.js"><link rel="prefetch" href="/assets/advice-class.html.12568df6.js"><link rel="prefetch" href="/assets/agent.html.d7974fce.js"><link rel="prefetch" href="/assets/ai.html.0d965d9d.js"><link rel="prefetch" href="/assets/arthas-properties.html.962908f3.js"><link rel="prefetch" href="/assets/async.html.58415566.js"><link rel="prefetch" href="/assets/auth.html.9f2ff1c7.js"><link rel="prefetch" href="/assets/base64.html.4b84930d.js"><link rel="prefetch" href="/assets/batch-support.html.2fd7dfc3.js"><link rel="prefetch" href="/assets/cat.html.8d80e219.js"><link rel="prefetch" href="/assets/classloader-metaspace.html.466bb431.js"><link rel="prefetch" href="/assets/classloader.html.3c2e72a7.js"><link rel="prefetch" href="/assets/cls.html.8f3a5491.js"><link rel="prefetch" href="/assets/commands.html.4d2820b1.js"><link rel="prefetch" href="/assets/contact-us.html.f31aa912.js"><link rel="prefetch" href="/assets/dashboard.html.1a8e32e4.js"><link rel="prefetch" href="/assets/docker.html.ab7f2873.js"><link rel="prefetch" href="/assets/download.html.c5d48124.js"><link rel="prefetch" href="/assets/dump.html.24ea4d2e.js"><link rel="prefetch" href="/assets/echo.html.fdda77b4.js"><link rel="prefetch" href="/assets/faq.html.188c09a3.js"><link rel="prefetch" href="/assets/getstatic.html.06e13f21.js"><link rel="prefetch" href="/assets/grep.html.831320e0.js"><link rel="prefetch" href="/assets/groovy.html.d70f2cba.js"><link rel="prefetch" href="/assets/heapdump.html.aa31b283.js"><link rel="prefetch" href="/assets/help.html.66e76dc7.js"><link rel="prefetch" href="/assets/history.html.62683097.js"><link rel="prefetch" href="/assets/http-api.html.a3d3ab18.js"><link rel="prefetch" href="/assets/idea-plugin.html.ae6aa4f7.js"><link rel="prefetch" href="/assets/install-detail.html.743978fa.js"><link rel="prefetch" href="/assets/jad.html.039013c5.js"><link rel="prefetch" href="/assets/jfr.html.b77304ea.js"><link rel="prefetch" href="/assets/jvm.html.eac591a0.js"><link rel="prefetch" href="/assets/keymap.html.4bc836ba.js"><link rel="prefetch" href="/assets/line.html.a9e8e2e4.js"><link rel="prefetch" href="/assets/logger.html.e09aeaa6.js"><link rel="prefetch" href="/assets/manual-install.html.85f99b8b.js"><link rel="prefetch" href="/assets/mbean.html.927e96dd.js"><link rel="prefetch" href="/assets/mc.html.d96eb37d.js"><link rel="prefetch" href="/assets/mcp-server.html.609551f2.js"><link rel="prefetch" href="/assets/memory.html.3bde6b86.js"><link rel="prefetch" href="/assets/monitor.html.fc2a02d0.js"><link rel="prefetch" href="/assets/ognl-express.html.0cd6cdc8.js"><link rel="prefetch" href="/assets/ognl.html.c20b61d9.js"><link rel="prefetch" href="/assets/options.html.7c3bfae1.js"><link rel="prefetch" href="/assets/perfcounter.html.27f41458.js"><link rel="prefetch" href="/assets/profiler.html.67035c12.js"><link rel="prefetch" href="/assets/pwd.html.5af5f815.js"><link rel="prefetch" href="/assets/quick-start.html.0a841ca8.js"><link rel="prefetch" href="/assets/quit.html.47228ba9.js"><link rel="prefetch" href="/assets/redefine.html.68e8d9d1.js"><link rel="prefetch" href="/assets/release-notes.html.bb1f1375.js"><link rel="prefetch" href="/assets/reset.html.94ebcaf7.js"><link rel="prefetch" href="/assets/retransform.html.5a86cbf5.js"><link rel="prefetch" href="/assets/save-log.html.f871291e.js"><link rel="prefetch" href="/assets/sc.html.13503b4f.js"><link rel="prefetch" href="/assets/session.html.602a88b1.js"><link rel="prefetch" href="/assets/sm.html.a226714f.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.78d66843.js"><link rel="prefetch" href="/assets/stack.html.aa5021d8.js"><link rel="prefetch" href="/assets/start-arthas.html.614c57c4.js"><link rel="prefetch" href="/assets/stop.html.481c9049.js"><link rel="prefetch" href="/assets/sysenv.html.f7014c3b.js"><link rel="prefetch" href="/assets/sysprop.html.93843170.js"><link rel="prefetch" href="/assets/tee.html.796f8441.js"><link rel="prefetch" href="/assets/thread.html.96dd9ac3.js"><link rel="prefetch" href="/assets/trace.html.4fabc19b.js"><link rel="prefetch" href="/assets/tt.html.ab370b4f.js"><link rel="prefetch" href="/assets/tunnel.html.6d15b349.js"><link rel="prefetch" href="/assets/version.html.acfdfafa.js"><link rel="prefetch" href="/assets/vmoption.html.698e78cd.js"><link rel="prefetch" href="/assets/vmtool.html.ab938841.js"><link rel="prefetch" href="/assets/watch.html.72a5979d.js"><link rel="prefetch" href="/assets/web-console.html.6349f4a1.js"><link rel="prefetch" href="/assets/404.html.1b87fa04.js"><link rel="prefetch" href="/assets/index.html.086821c2.js"><link rel="prefetch" href="/assets/index.html.18118d67.js"><link rel="prefetch" href="/assets/index.html.760efd19.js"><link rel="prefetch" href="/assets/advanced-use.html.2466ac6e.js"><link rel="prefetch" href="/assets/advice-class.html.79697a1e.js"><link rel="prefetch" href="/assets/agent.html.2480ffd9.js"><link rel="prefetch" href="/assets/ai.html.4fc4211a.js"><link rel="prefetch" href="/assets/arthas-properties.html.7dc17e44.js"><link rel="prefetch" href="/assets/arthas3.html.98a1b21b.js"><link rel="prefetch" href="/assets/async.html.60215e2c.js"><link rel="prefetch" href="/assets/auth.html.15a8fda2.js"><link rel="prefetch" href="/assets/base64.html.9f351db1.js"><link rel="prefetch" href="/assets/batch-support.html.f1130b14.js"><link rel="prefetch" href="/assets/cat.html.5c2eddad.js"><link rel="prefetch" href="/assets/classloader-metaspace.html.249e56bc.js"><link rel="prefetch" href="/assets/classloader.html.1dbda3bd.js"><link rel="prefetch" href="/assets/cls.html.14369b3c.js"><link rel="prefetch" href="/assets/commands.html.3d045ea7.js"><link rel="prefetch" href="/assets/contact-us.html.bca72555.js"><link rel="prefetch" href="/assets/dashboard.html.113af276.js"><link rel="prefetch" href="/assets/docker.html.da50033d.js"><link rel="prefetch" href="/assets/download.html.6df5a02f.js"><link rel="prefetch" href="/assets/dump.html.894aad59.js"><link rel="prefetch" href="/assets/echo.html.8bd53ad3.js"><link rel="prefetch" href="/assets/external-command.html.f331f51e.js"><link rel="prefetch" href="/assets/faq.html.0b4e272a.js"><link rel="prefetch" href="/assets/getstatic.html.0079aa66.js"><link rel="prefetch" href="/assets/grep.html.a6f74b81.js"><link rel="prefetch" href="/assets/groovy.html.74effc34.js"><link rel="prefetch" href="/assets/heapdump.html.3c58b047.js"><link rel="prefetch" href="/assets/help.html.0f234388.js"><link rel="prefetch" href="/assets/history.html.a9fdd95c.js"><link rel="prefetch" href="/assets/http-api.html.99c4fcf0.js"><link rel="prefetch" href="/assets/idea-plugin.html.34a25f10.js"><link rel="prefetch" href="/assets/install-detail.html.40e05e2a.js"><link rel="prefetch" href="/assets/jad.html.2e62e37f.js"><link rel="prefetch" href="/assets/jfr.html.fc123fb3.js"><link rel="prefetch" href="/assets/jvm.html.9b922226.js"><link rel="prefetch" href="/assets/keymap.html.33e7213e.js"><link rel="prefetch" href="/assets/line.html.70ec176e.js"><link rel="prefetch" href="/assets/logger.html.c09808a8.js"><link rel="prefetch" href="/assets/manual-install.html.81853c98.js"><link rel="prefetch" href="/assets/mbean.html.ee4f07f1.js"><link rel="prefetch" href="/assets/mc.html.9ed50f47.js"><link rel="prefetch" href="/assets/mcp-server.html.b2d1ada5.js"><link rel="prefetch" href="/assets/memory.html.8e88a19c.js"><link rel="prefetch" href="/assets/monitor.html.b4c17a07.js"><link rel="prefetch" href="/assets/ognl-express.html.1fb465fc.js"><link rel="prefetch" href="/assets/ognl.html.c39364dd.js"><link rel="prefetch" href="/assets/options.html.dae019ce.js"><link rel="prefetch" href="/assets/perfcounter.html.96a88381.js"><link rel="prefetch" href="/assets/profiler.html.8e2f4114.js"><link rel="prefetch" href="/assets/pwd.html.a1551912.js"><link rel="prefetch" href="/assets/quick-start.html.7059ebe7.js"><link rel="prefetch" href="/assets/quit.html.44df6ca4.js"><link rel="prefetch" href="/assets/redefine.html.05bba39f.js"><link rel="prefetch" href="/assets/release-notes.html.c5c1003b.js"><link rel="prefetch" href="/assets/reset.html.5e039e96.js"><link rel="prefetch" href="/assets/retransform.html.cee06ec8.js"><link rel="prefetch" href="/assets/save-log.html.fea95237.js"><link rel="prefetch" href="/assets/sc.html.982b84c0.js"><link rel="prefetch" href="/assets/session.html.35f7a4aa.js"><link rel="prefetch" href="/assets/sm.html.552b6b44.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.adad135d.js"><link rel="prefetch" href="/assets/stack.html.39dc52db.js"><link rel="prefetch" href="/assets/start-arthas.html.497d3293.js"><link rel="prefetch" href="/assets/stop.html.9224e553.js"><link rel="prefetch" href="/assets/sysenv.html.e76b6bf3.js"><link rel="prefetch" href="/assets/sysprop.html.0dfbbffb.js"><link rel="prefetch" href="/assets/tee.html.26f6c8a9.js"><link rel="prefetch" href="/assets/thread.html.f8f09dc5.js"><link rel="prefetch" href="/assets/trace.html.27ac97ec.js"><link rel="prefetch" href="/assets/tt.html.a410b6a0.js"><link rel="prefetch" href="/assets/tunnel.html.3a98510a.js"><link rel="prefetch" href="/assets/version.html.e13ddf0e.js"><link rel="prefetch" href="/assets/vmoption.html.7a568db9.js"><link rel="prefetch" href="/assets/vmtool.html.27325bff.js"><link rel="prefetch" href="/assets/watch.html.2383ed88.js"><link rel="prefetch" href="/assets/web-console.html.e58ea91b.js"><link rel="prefetch" href="/assets/index.html.34145a94.js"><link rel="prefetch" href="/assets/advanced-use.html.38aef1b4.js"><link rel="prefetch" href="/assets/advice-class.html.7352d445.js"><link rel="prefetch" href="/assets/agent.html.d870df79.js"><link rel="prefetch" href="/assets/ai.html.76467e93.js"><link rel="prefetch" href="/assets/arthas-properties.html.c45f5949.js"><link rel="prefetch" href="/assets/async.html.4eaabb46.js"><link rel="prefetch" href="/assets/auth.html.031f3521.js"><link rel="prefetch" href="/assets/base64.html.a74ba9fa.js"><link rel="prefetch" href="/assets/batch-support.html.8e77cbb4.js"><link rel="prefetch" href="/assets/cat.html.a8a712c6.js"><link rel="prefetch" href="/assets/classloader-metaspace.html.1d325e53.js"><link rel="prefetch" href="/assets/classloader.html.0346e215.js"><link rel="prefetch" href="/assets/cls.html.77bb73a5.js"><link rel="prefetch" href="/assets/commands.html.0766e205.js"><link rel="prefetch" href="/assets/contact-us.html.c13483a2.js"><link rel="prefetch" href="/assets/dashboard.html.981a5405.js"><link rel="prefetch" href="/assets/docker.html.3597bdbf.js"><link rel="prefetch" href="/assets/download.html.5f1c78c9.js"><link rel="prefetch" href="/assets/dump.html.30dc9666.js"><link rel="prefetch" href="/assets/echo.html.1ca1bcbf.js"><link rel="prefetch" href="/assets/faq.html.8aecb0b8.js"><link rel="prefetch" href="/assets/getstatic.html.d3e5edb1.js"><link rel="prefetch" href="/assets/grep.html.c007dc7c.js"><link rel="prefetch" href="/assets/groovy.html.47cc1adc.js"><link rel="prefetch" href="/assets/heapdump.html.291f6f55.js"><link rel="prefetch" href="/assets/help.html.9a08c3c3.js"><link rel="prefetch" href="/assets/history.html.0a1c3393.js"><link rel="prefetch" href="/assets/http-api.html.d561b855.js"><link rel="prefetch" href="/assets/idea-plugin.html.7d6cbcc9.js"><link rel="prefetch" href="/assets/install-detail.html.041805f1.js"><link rel="prefetch" href="/assets/jad.html.1626c1c4.js"><link rel="prefetch" href="/assets/jfr.html.2139c5d1.js"><link rel="prefetch" href="/assets/jvm.html.43ae7a7d.js"><link rel="prefetch" href="/assets/keymap.html.bf1351b4.js"><link rel="prefetch" href="/assets/line.html.01eb3559.js"><link rel="prefetch" href="/assets/logger.html.b88626af.js"><link rel="prefetch" href="/assets/manual-install.html.315a4f72.js"><link rel="prefetch" href="/assets/mbean.html.d1e0ff54.js"><link rel="prefetch" href="/assets/mc.html.f0819ad2.js"><link rel="prefetch" href="/assets/mcp-server.html.c2f288cd.js"><link rel="prefetch" href="/assets/memory.html.e96b1c33.js"><link rel="prefetch" href="/assets/monitor.html.be46b9bd.js"><link rel="prefetch" href="/assets/ognl-express.html.3082adb7.js"><link rel="prefetch" href="/assets/ognl.html.d226d5a4.js"><link rel="prefetch" href="/assets/options.html.12136572.js"><link rel="prefetch" href="/assets/perfcounter.html.e11ca3a1.js"><link rel="prefetch" href="/assets/profiler.html.3f6cfb27.js"><link rel="prefetch" href="/assets/pwd.html.60a0a503.js"><link rel="prefetch" href="/assets/quick-start.html.90bb144c.js"><link rel="prefetch" href="/assets/quit.html.de692497.js"><link rel="prefetch" href="/assets/redefine.html.c7e214b6.js"><link rel="prefetch" href="/assets/release-notes.html.4d2c5e1d.js"><link rel="prefetch" href="/assets/reset.html.9c6228ed.js"><link rel="prefetch" href="/assets/retransform.html.822f2ec7.js"><link rel="prefetch" href="/assets/save-log.html.aaad8817.js"><link rel="prefetch" href="/assets/sc.html.049f2400.js"><link rel="prefetch" href="/assets/session.html.fa0a110f.js"><link rel="prefetch" href="/assets/sm.html.fd569c95.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.cb1cd476.js"><link rel="prefetch" href="/assets/stack.html.bdb92f2d.js"><link rel="prefetch" href="/assets/start-arthas.html.1a3db2ff.js"><link rel="prefetch" href="/assets/stop.html.c30e7079.js"><link rel="prefetch" href="/assets/sysenv.html.33a80b4e.js"><link rel="prefetch" href="/assets/sysprop.html.ae3ef70a.js"><link rel="prefetch" href="/assets/tee.html.80593816.js"><link rel="prefetch" href="/assets/thread.html.bceb3488.js"><link rel="prefetch" href="/assets/trace.html.63fe4169.js"><link rel="prefetch" href="/assets/tt.html.2b487719.js"><link rel="prefetch" href="/assets/tunnel.html.7e8c485e.js"><link rel="prefetch" href="/assets/version.html.3edc2ceb.js"><link rel="prefetch" href="/assets/vmoption.html.b0134475.js"><link rel="prefetch" href="/assets/vmtool.html.9e179166.js"><link rel="prefetch" href="/assets/watch.html.9d383a57.js"><link rel="prefetch" href="/assets/web-console.html.0614d78d.js"><link rel="prefetch" href="/assets/404.html.58d317de.js">
|
|
<link rel="stylesheet" href="/assets/style.812a0039.css">
|
|
</head>
|
|
<body>
|
|
<div id="app"><!--[--><div class="theme-container"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/en/" class="" data-v-a8869d06><!----><span class="site-name can-hide" data-v-a8869d06>arthas</span><span class="navbar-version" data-v-a8869d06>v4.3.5</span></a></span><div class="navbar-items-wrapper" style=""><!--[--><!--]--><nav class="navbar-items can-hide"><!--[--><div class="navbar-item"><a href="/en/" class="" aria-label="HOME"><!--[--><!--]--> HOME <!--[--><!--]--></a></div><div class="navbar-item"><a href="/en/doc" class="router-link-active" aria-label="DOCS"><!--[--><!--]--> DOCS <!--[--><!--]--></a></div><div class="navbar-item"><a href="/en/doc/commands.md" class="" aria-label="COMMANDS"><!--[--><!--]--> COMMANDS <!--[--><!--]--></a></div><div class="navbar-item"><a href="/en/doc/download.md" class="" aria-label="DOWNLOAD"><!--[--><!--]--> DOWNLOAD <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="VERSIONS"><span class="title">VERSIONS</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="VERSIONS"><span class="title">VERSIONS</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a class="external-link" href="https://arthas.aliyun.com/3.x/en/" rel="noopener noreferrer" target="_blank" aria-label="v3.x"><!--[--><!--]--><span>v3.x</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Select language"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" style="height:1.25rem;width:1.25rem;vertical-align:bottom;" viewbox="0 0 24 24"><path fill="currentColor" d="M13.35 22q-.6 0-.862-.387q-.263-.388-.063-.963l3.65-9.675q.15-.4.563-.688Q17.05 10 17.5 10q.425 0 .85.287q.425.288.575.688l3.65 9.675q.2.575-.062.963q-.263.387-.888.387q-.275 0-.5-.175q-.225-.175-.325-.425l-.85-2.45H15.1l-.875 2.45q-.1.25-.35.425q-.25.175-.525.175Zm2.35-4.8h3.6l-1.75-4.95h-.1ZM7.15 8.55q.4.725.85 1.337q.45.613 1.05 1.263q1.1-1.2 1.825-2.462Q11.6 7.425 12.1 6H2q-.425 0-.712-.287Q1 5.425 1 5t.288-.713Q1.575 4 2 4h6V3q0-.425.288-.713Q8.575 2 9 2t.713.287Q10 2.575 10 3v1h6q.425 0 .712.287Q17 4.575 17 5t-.288.713Q16.425 6 16 6h-1.9q-.525 1.775-1.425 3.45q-.9 1.675-2.225 3.15l2.4 2.45l-.75 2.05L9 14l-4.3 4.3q-.275.275-.7.275q-.425 0-.7-.275q-.275-.275-.275-.7q0-.425.275-.7l4.35-4.35q-.675-.775-1.25-1.563q-.575-.787-1.025-1.662Q5.1 8.8 5.35 8.4t.875-.4q.25 0 .525.162q.275.163.4.388Z"></path></svg><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Select language"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" style="height:1.25rem;width:1.25rem;vertical-align:bottom;" viewbox="0 0 24 24"><path fill="currentColor" d="M13.35 22q-.6 0-.862-.387q-.263-.388-.063-.963l3.65-9.675q.15-.4.563-.688Q17.05 10 17.5 10q.425 0 .85.287q.425.288.575.688l3.65 9.675q.2.575-.062.963q-.263.387-.888.387q-.275 0-.5-.175q-.225-.175-.325-.425l-.85-2.45H15.1l-.875 2.45q-.1.25-.35.425q-.25.175-.525.175Zm2.35-4.8h3.6l-1.75-4.95h-.1ZM7.15 8.55q.4.725.85 1.337q.45.613 1.05 1.263q1.1-1.2 1.825-2.462Q11.6 7.425 12.1 6H2q-.425 0-.712-.287Q1 5.425 1 5t.288-.713Q1.575 4 2 4h6V3q0-.425.288-.713Q8.575 2 9 2t.713.287Q10 2.575 10 3v1h6q.425 0 .712.287Q17 4.575 17 5t-.288.713Q16.425 6 16 6h-1.9q-.525 1.775-1.425 3.45q-.9 1.675-2.225 3.15l2.4 2.45l-.75 2.05L9 14l-4.3 4.3q-.275.275-.7.275q-.425 0-.7-.275q-.275-.275-.275-.7q0-.425.275-.7l4.35-4.35q-.675-.775-1.25-1.563q-.575-.787-1.025-1.662Q5.1 8.8 5.35 8.4t.875-.4q.25 0 .525.162q.275.163.4.388Z"></path></svg><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a href="/doc/external-command.html" class="" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a aria-current="page" href="/en/doc/external-command.html" class="router-link-active router-link-exact-active router-link-active" aria-label="English"><!--[--><!--]--> English <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/alibaba/arthas" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewbox="0 0 24 24" style="height:1.25rem;width:1.25rem;vertical-align:bottom;"><path fill="currentColor" d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33c.85 0 1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"></path></svg><!----><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><button class="toggle-color-mode-button" title="toggle color mode"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><div id="docsearch-container"></div></div></header><!--]--><div class="sidebar-mask"></div><!--[--><aside class="sidebar"><nav class="navbar-items"><!--[--><div class="navbar-item"><a href="/en/" class="" aria-label="HOME"><!--[--><!--]--> HOME <!--[--><!--]--></a></div><div class="navbar-item"><a href="/en/doc" class="router-link-active" aria-label="DOCS"><!--[--><!--]--> DOCS <!--[--><!--]--></a></div><div class="navbar-item"><a href="/en/doc/commands.md" class="" aria-label="COMMANDS"><!--[--><!--]--> COMMANDS <!--[--><!--]--></a></div><div class="navbar-item"><a href="/en/doc/download.md" class="" aria-label="DOWNLOAD"><!--[--><!--]--> DOWNLOAD <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="VERSIONS"><span class="title">VERSIONS</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="VERSIONS"><span class="title">VERSIONS</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a class="external-link" href="https://arthas.aliyun.com/3.x/en/" rel="noopener noreferrer" target="_blank" aria-label="v3.x"><!--[--><!--]--><span>v3.x</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Select language"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" style="height:1.25rem;width:1.25rem;vertical-align:bottom;" viewbox="0 0 24 24"><path fill="currentColor" d="M13.35 22q-.6 0-.862-.387q-.263-.388-.063-.963l3.65-9.675q.15-.4.563-.688Q17.05 10 17.5 10q.425 0 .85.287q.425.288.575.688l3.65 9.675q.2.575-.062.963q-.263.387-.888.387q-.275 0-.5-.175q-.225-.175-.325-.425l-.85-2.45H15.1l-.875 2.45q-.1.25-.35.425q-.25.175-.525.175Zm2.35-4.8h3.6l-1.75-4.95h-.1ZM7.15 8.55q.4.725.85 1.337q.45.613 1.05 1.263q1.1-1.2 1.825-2.462Q11.6 7.425 12.1 6H2q-.425 0-.712-.287Q1 5.425 1 5t.288-.713Q1.575 4 2 4h6V3q0-.425.288-.713Q8.575 2 9 2t.713.287Q10 2.575 10 3v1h6q.425 0 .712.287Q17 4.575 17 5t-.288.713Q16.425 6 16 6h-1.9q-.525 1.775-1.425 3.45q-.9 1.675-2.225 3.15l2.4 2.45l-.75 2.05L9 14l-4.3 4.3q-.275.275-.7.275q-.425 0-.7-.275q-.275-.275-.275-.7q0-.425.275-.7l4.35-4.35q-.675-.775-1.25-1.563q-.575-.787-1.025-1.662Q5.1 8.8 5.35 8.4t.875-.4q.25 0 .525.162q.275.163.4.388Z"></path></svg><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Select language"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" style="height:1.25rem;width:1.25rem;vertical-align:bottom;" viewbox="0 0 24 24"><path fill="currentColor" d="M13.35 22q-.6 0-.862-.387q-.263-.388-.063-.963l3.65-9.675q.15-.4.563-.688Q17.05 10 17.5 10q.425 0 .85.287q.425.288.575.688l3.65 9.675q.2.575-.062.963q-.263.387-.888.387q-.275 0-.5-.175q-.225-.175-.325-.425l-.85-2.45H15.1l-.875 2.45q-.1.25-.35.425q-.25.175-.525.175Zm2.35-4.8h3.6l-1.75-4.95h-.1ZM7.15 8.55q.4.725.85 1.337q.45.613 1.05 1.263q1.1-1.2 1.825-2.462Q11.6 7.425 12.1 6H2q-.425 0-.712-.287Q1 5.425 1 5t.288-.713Q1.575 4 2 4h6V3q0-.425.288-.713Q8.575 2 9 2t.713.287Q10 2.575 10 3v1h6q.425 0 .712.287Q17 4.575 17 5t-.288.713Q16.425 6 16 6h-1.9q-.525 1.775-1.425 3.45q-.9 1.675-2.225 3.15l2.4 2.45l-.75 2.05L9 14l-4.3 4.3q-.275.275-.7.275q-.425 0-.7-.275q-.275-.275-.275-.7q0-.425.275-.7l4.35-4.35q-.675-.775-1.25-1.563q-.575-.787-1.025-1.662Q5.1 8.8 5.35 8.4t.875-.4q.25 0 .525.162q.275.163.4.388Z"></path></svg><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a href="/doc/external-command.html" class="" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a aria-current="page" href="/en/doc/external-command.html" class="router-link-active router-link-exact-active router-link-active" aria-label="English"><!--[--><!--]--> English <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/alibaba/arthas" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewbox="0 0 24 24" style="height:1.25rem;width:1.25rem;vertical-align:bottom;"><path fill="currentColor" d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33c.85 0 1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"></path></svg><!----><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><!--[--><div class="sidebar-search-wrapper" data-v-ff139ca7><div class="sidebar-search" role="search" data-v-ff139ca7><span class="sidebar-search-icon" aria-hidden="true" data-v-ff139ca7></span><input value="" class="sidebar-search-input" type="search" placeholder="Search" aria-label="Search" data-v-ff139ca7><!----></div></div><ul class="sidebar-items" data-v-ff139ca7><!--[--><li data-v-ff139ca7 data-v-558ea87d><p tabindex="0" class="sidebar-item sidebar-heading active" data-v-558ea87d>DOCS <!----></p><ul style="" class="sidebar-item-children" data-v-558ea87d><!--[--><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/" class="router-link-active sidebar-item" aria-label="Introduction" data-v-558ea87d><!--[--><!--]--> Introduction <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/quick-start.html" class="sidebar-item" aria-label="Quick Start" data-v-558ea87d><!--[--><!--]--> Quick Start <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/install-detail.html" class="sidebar-item" aria-label="Install Arthas" data-v-558ea87d><!--[--><!--]--> Install Arthas <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/download.html" class="sidebar-item" aria-label="Download" data-v-558ea87d><!--[--><!--]--> Download <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/advice-class.html" class="sidebar-item" aria-label="Fundamental Fields in Expressions" data-v-558ea87d><!--[--><!--]--> Fundamental Fields in Expressions <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row collapsible" data-v-558ea87d><button type="button" class="sidebar-tree-toggle" aria-expanded="false" aria-label="Expand All Commands" data-v-558ea87d><span class="sidebar-tree-chevron" aria-hidden="true" data-v-558ea87d></span></button><a href="/en/doc/commands.md" class="sidebar-item collapsible" aria-label="All Commands" data-v-558ea87d><!--[--><!--]--> All Commands <!--[--><!--]--></a></div><ul style="display:none;" class="sidebar-item-children" data-v-558ea87d><!--[--><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/auth.html" class="sidebar-item" aria-label="auth" data-v-558ea87d><!--[--><!--]--> auth <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/base64.html" class="sidebar-item" aria-label="base64" data-v-558ea87d><!--[--><!--]--> base64 <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/cat.html" class="sidebar-item" aria-label="cat" data-v-558ea87d><!--[--><!--]--> cat <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/classloader.html" class="sidebar-item" aria-label="classloader" data-v-558ea87d><!--[--><!--]--> classloader <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/classloader-metaspace.html" class="sidebar-item" aria-label="classloader-metaspace" data-v-558ea87d><!--[--><!--]--> classloader-metaspace <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/cls.html" class="sidebar-item" aria-label="cls" data-v-558ea87d><!--[--><!--]--> cls <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/dashboard.html" class="sidebar-item" aria-label="dashboard" data-v-558ea87d><!--[--><!--]--> dashboard <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/dump.html" class="sidebar-item" aria-label="dump" data-v-558ea87d><!--[--><!--]--> dump <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/echo.html" class="sidebar-item" aria-label="echo" data-v-558ea87d><!--[--><!--]--> echo <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/getstatic.html" class="sidebar-item" aria-label="getstatic" data-v-558ea87d><!--[--><!--]--> getstatic <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/grep.html" class="sidebar-item" aria-label="grep" data-v-558ea87d><!--[--><!--]--> grep <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/heapdump.html" class="sidebar-item" aria-label="heapdump" data-v-558ea87d><!--[--><!--]--> heapdump <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/help.html" class="sidebar-item" aria-label="help" data-v-558ea87d><!--[--><!--]--> help <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/history.html" class="sidebar-item" aria-label="history" data-v-558ea87d><!--[--><!--]--> history <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/jad.html" class="sidebar-item" aria-label="jad" data-v-558ea87d><!--[--><!--]--> jad <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/jfr.html" class="sidebar-item" aria-label="jfr" data-v-558ea87d><!--[--><!--]--> jfr <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/jvm.html" class="sidebar-item" aria-label="jvm" data-v-558ea87d><!--[--><!--]--> jvm <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/keymap.html" class="sidebar-item" aria-label="keymap" data-v-558ea87d><!--[--><!--]--> keymap <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/line.html" class="sidebar-item" aria-label="line" data-v-558ea87d><!--[--><!--]--> line <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/logger.html" class="sidebar-item" aria-label="logger" data-v-558ea87d><!--[--><!--]--> logger <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/mbean.html" class="sidebar-item" aria-label="mbean" data-v-558ea87d><!--[--><!--]--> mbean <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/mc.html" class="sidebar-item" aria-label="mc" data-v-558ea87d><!--[--><!--]--> mc <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/memory.html" class="sidebar-item" aria-label="memory" data-v-558ea87d><!--[--><!--]--> memory <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/monitor.html" class="sidebar-item" aria-label="monitor" data-v-558ea87d><!--[--><!--]--> monitor <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/ognl.html" class="sidebar-item" aria-label="ognl" data-v-558ea87d><!--[--><!--]--> ognl <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/ognl-express.html" class="sidebar-item" aria-label="Tips for Complex OGNL Expressions" data-v-558ea87d><!--[--><!--]--> Tips for Complex OGNL Expressions <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/options.html" class="sidebar-item" aria-label="options" data-v-558ea87d><!--[--><!--]--> options <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/perfcounter.html" class="sidebar-item" aria-label="perfcounter" data-v-558ea87d><!--[--><!--]--> perfcounter <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/profiler.html" class="sidebar-item" aria-label="profiler" data-v-558ea87d><!--[--><!--]--> profiler <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/pwd.html" class="sidebar-item" aria-label="pwd" data-v-558ea87d><!--[--><!--]--> pwd <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/quit.html" class="sidebar-item" aria-label="quit" data-v-558ea87d><!--[--><!--]--> quit <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/redefine.html" class="sidebar-item" aria-label="redefine" data-v-558ea87d><!--[--><!--]--> redefine <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/reset.html" class="sidebar-item" aria-label="reset" data-v-558ea87d><!--[--><!--]--> reset <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/retransform.html" class="sidebar-item" aria-label="retransform" data-v-558ea87d><!--[--><!--]--> retransform <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/sc.html" class="sidebar-item" aria-label="sc" data-v-558ea87d><!--[--><!--]--> sc <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/session.html" class="sidebar-item" aria-label="session" data-v-558ea87d><!--[--><!--]--> session <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/sm.html" class="sidebar-item" aria-label="sm" data-v-558ea87d><!--[--><!--]--> sm <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/stack.html" class="sidebar-item" aria-label="stack" data-v-558ea87d><!--[--><!--]--> stack <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/stop.html" class="sidebar-item" aria-label="stop" data-v-558ea87d><!--[--><!--]--> stop <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/sysenv.html" class="sidebar-item" aria-label="sysenv" data-v-558ea87d><!--[--><!--]--> sysenv <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/sysprop.html" class="sidebar-item" aria-label="sysprop" data-v-558ea87d><!--[--><!--]--> sysprop <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/tee.html" class="sidebar-item" aria-label="tee" data-v-558ea87d><!--[--><!--]--> tee <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/thread.html" class="sidebar-item" aria-label="thread" data-v-558ea87d><!--[--><!--]--> thread <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/trace.html" class="sidebar-item" aria-label="trace" data-v-558ea87d><!--[--><!--]--> trace <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/tt.html" class="sidebar-item" aria-label="tt" data-v-558ea87d><!--[--><!--]--> tt <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/version.html" class="sidebar-item" aria-label="version" data-v-558ea87d><!--[--><!--]--> version <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/vmoption.html" class="sidebar-item" aria-label="vmoption" data-v-558ea87d><!--[--><!--]--> vmoption <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/vmtool.html" class="sidebar-item" aria-label="vmtool" data-v-558ea87d><!--[--><!--]--> vmtool <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/watch.html" class="sidebar-item" aria-label="watch" data-v-558ea87d><!--[--><!--]--> watch <!--[--><!--]--></a></div><!----></li><!--]--></ul></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row collapsible" data-v-558ea87d><button type="button" class="sidebar-tree-toggle" aria-expanded="false" aria-label="Expand AI Integration" data-v-558ea87d><span class="sidebar-tree-chevron" aria-hidden="true" data-v-558ea87d></span></button><a href="/en/doc/ai.md" class="sidebar-item collapsible" aria-label="AI Integration" data-v-558ea87d><!--[--><!--]--> AI Integration <!--[--><!--]--></a></div><ul style="display:none;" class="sidebar-item-children" data-v-558ea87d><!--[--><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/mcp-server.html" class="sidebar-item" aria-label="Arthas MCP Server" data-v-558ea87d><!--[--><!--]--> Arthas MCP Server <!--[--><!--]--></a></div><!----></li><!--]--></ul></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row active collapsible" data-v-558ea87d><button type="button" class="sidebar-tree-toggle" aria-expanded="true" aria-label="Collapse Other features" data-v-558ea87d><span class="open sidebar-tree-chevron" aria-hidden="true" data-v-558ea87d></span></button><a href="/en/doc/advanced-use.md" class="sidebar-item active collapsible" aria-label="Other features" data-v-558ea87d><!--[--><!--]--> Other features <!--[--><!--]--></a></div><ul style="" class="sidebar-item-children" data-v-558ea87d><!--[--><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/async.html" class="sidebar-item" aria-label="Arthas Async Jobs" data-v-558ea87d><!--[--><!--]--> Arthas Async Jobs <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/save-log.html" class="sidebar-item" aria-label="Log command outputs" data-v-558ea87d><!--[--><!--]--> Log command outputs <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/docker.html" class="sidebar-item" aria-label="Docker" data-v-558ea87d><!--[--><!--]--> Docker <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/web-console.html" class="sidebar-item" aria-label="Web Console" data-v-558ea87d><!--[--><!--]--> Web Console <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/tunnel.html" class="sidebar-item" aria-label="Arthas Tunnel" data-v-558ea87d><!--[--><!--]--> Arthas Tunnel <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/idea-plugin.html" class="sidebar-item" aria-label="IDEA Plugin" data-v-558ea87d><!--[--><!--]--> IDEA Plugin <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/arthas-properties.html" class="sidebar-item" aria-label="Arthas Properties" data-v-558ea87d><!--[--><!--]--> Arthas Properties <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/agent.html" class="sidebar-item" aria-label="Start as a Java Agent" data-v-558ea87d><!--[--><!--]--> Start as a Java Agent <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/spring-boot-starter.html" class="sidebar-item" aria-label="Arthas Spring Boot Starter" data-v-558ea87d><!--[--><!--]--> Arthas Spring Boot Starter <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row active" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a aria-current="page" href="/en/doc/external-command.html" class="router-link-active router-link-exact-active router-link-active sidebar-item active" aria-label="Load External Commands" data-v-558ea87d><!--[--><!--]--> Load External Commands <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/http-api.html" class="sidebar-item" aria-label="Http API" data-v-558ea87d><!--[--><!--]--> Http API <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/batch-support.html" class="sidebar-item" aria-label="Batch Processing" data-v-558ea87d><!--[--><!--]--> Batch Processing <!--[--><!--]--></a></div><!----></li><!--]--></ul></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/faq.html" class="sidebar-item" aria-label="FAQ" data-v-558ea87d><!--[--><!--]--> FAQ <!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas/issues?q=label%3Auser-case" rel="noopener noreferrer" target="_blank" aria-label="User cases" data-v-558ea87d><!--[--><!--]--><span>User cases</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas" rel="noopener noreferrer" target="_blank" aria-label="Star me at github" data-v-558ea87d><!--[--><!--]--><span>Star me at github</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas/blob/master/CONTRIBUTING.md" rel="noopener noreferrer" target="_blank" aria-label="Compile and debug/CONTRIBUTING" data-v-558ea87d><!--[--><!--]--><span>Compile and debug/CONTRIBUTING</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas/releases" rel="noopener noreferrer" target="_blank" aria-label="Release Notes" data-v-558ea87d><!--[--><!--]--><span>Release Notes</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><!----></li><li data-v-558ea87d data-v-558ea87d><div class="sidebar-tree-row" data-v-558ea87d><span class="sidebar-tree-toggle-placeholder" data-v-558ea87d></span><a href="/en/doc/contact-us.md" class="sidebar-item" aria-label="Contact us" data-v-558ea87d><!--[--><!--]--> Contact us <!--[--><!--]--></a></div><!----></li><!--]--></ul></li><!--]--></ul><!--]--><!--[--><!--]--></aside><!--]--><!--[--><main class="page" data-v-fdd717e0><!--[--><!--]--><div class="right-menu-padding theme-default-content" data-v-fdd717e0><!--[--><!--]--><div class="right-menu-wrapper" data-v-fdd717e0 data-v-64666cd5><div class="right-menu-margin" data-v-64666cd5><div class="right-menu-title" data-v-64666cd5>Table of Contents</div><div class="right-menu-content" data-v-64666cd5><!--[--><!--]--></div></div></div><div data-v-fdd717e0><h1 id="load-external-commands" tabindex="-1"><a class="header-anchor" href="#load-external-commands" aria-hidden="true">#</a> Load External Commands</h1><p>Arthas can load external command jars at startup. This is useful when you want to package team-specific diagnostic actions as Arthas commands. After an external command is loaded, you can use it like a built-in command and inspect it with <code>help</code>.</p><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>External commands are loaded only when the Arthas server starts. If Arthas has already attached to the target JVM, copying a jar into the command directory will not take effect until the Arthas server is restarted.</p></div><h2 id="loading-methods" tabindex="-1"><a class="header-anchor" href="#loading-methods" aria-hidden="true">#</a> Loading methods</h2><h3 id="command-line" tabindex="-1"><a class="header-anchor" href="#command-line" aria-hidden="true">#</a> Command line</h3><p><code>arthas-boot.jar</code> supports the <code>--command-locations</code> option. Each entry can be a jar file path or a directory path, separated by commas:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">java</span> <span class="token parameter variable">-jar</span> arthas-boot.jar --command-locations <span class="token string">'/opt/arthas/ext-command.jar,/opt/arthas/ext-commands'</span> <span class="token operator"><</span>pid<span class="token operator">></span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>If you use <code>as.sh</code> from the full distribution, you can pass the same option:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>./as.sh --command-locations <span class="token string">'/opt/arthas/ext-command.jar,/opt/arthas/ext-commands'</span> <span class="token operator"><</span>pid<span class="token operator">></span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="arthas-properties" tabindex="-1"><a class="header-anchor" href="#arthas-properties" aria-hidden="true">#</a> arthas.properties</h3><p>Configure <code>arthas.commandLocations</code> in <code>arthas.properties</code>:</p><div class="language-properties ext-properties line-numbers-mode"><pre class="language-properties"><code><span class="token key attr-name">arthas.commandLocations</span><span class="token punctuation">=</span><span class="token value attr-value">/opt/arthas/ext-command.jar,/opt/arthas/ext-commands</span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>If you start Arthas through <code>arthas-spring-boot-starter</code>, use <code>arthas.command-locations</code> in Spring Boot configuration files:</p><div class="language-properties ext-properties line-numbers-mode"><pre class="language-properties"><code><span class="token key attr-name">arthas.command-locations</span><span class="token punctuation">=</span><span class="token value attr-value">/opt/arthas/ext-command.jar,/opt/arthas/ext-commands</span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="default-commands-directory" tabindex="-1"><a class="header-anchor" href="#default-commands-directory" aria-hidden="true">#</a> Default commands directory</h3><p>If <code>${arthas.home}/commands</code> exists, Arthas also loads <code>*.jar</code> from that directory at startup:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">mkdir</span> <span class="token parameter variable">-p</span> <span class="token variable">${arthas.home}</span>/commands
|
|
<span class="token function">cp</span> arthas-demo-external-command.jar <span class="token variable">${arthas.home}</span>/commands/
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p>Explicit <code>arthas.commandLocations</code> are loaded first, followed by the default <code>${arthas.home}/commands</code> directory.</p><h2 id="directory-scanning-rules" tabindex="-1"><a class="header-anchor" href="#directory-scanning-rules" aria-hidden="true">#</a> Directory scanning rules</h2><ul><li>Each location can point to a jar file or a directory.</li><li>Directory entries scan only <code>*.jar</code> files in the current directory. Subdirectories are not scanned recursively.</li><li>The same jar path is deduplicated by its canonical absolute path.</li><li>If an external command depends on third-party jars, package the dependencies into the command jar, or put those dependency jars in a scanned directory.</li></ul><h2 id="writing-an-external-command" tabindex="-1"><a class="header-anchor" href="#writing-an-external-command" aria-hidden="true">#</a> Writing an external command</h2><p>External command jars expose <code>CommandResolver</code> implementations through Java SPI. A minimal command usually has three parts:</p><ol><li>A command class that extends <code>AnnotatedCommand</code>.</li><li>A <code>CommandResolver</code> implementation that returns the command list.</li><li>A <code>META-INF/services/com.taobao.arthas.core.shell.command.CommandResolver</code> file that contains the resolver class name.</li></ol><p>Example command:</p><div class="language-java ext-java line-numbers-mode"><pre class="language-java"><code><span class="token keyword">package</span> <span class="token namespace">demo<span class="token punctuation">.</span>command</span><span class="token punctuation">;</span>
|
|
|
|
<span class="token keyword">import</span> <span class="token import"><span class="token namespace">com<span class="token punctuation">.</span>taobao<span class="token punctuation">.</span>arthas<span class="token punctuation">.</span>core<span class="token punctuation">.</span>shell<span class="token punctuation">.</span>command<span class="token punctuation">.</span></span><span class="token class-name">AnnotatedCommand</span></span><span class="token punctuation">;</span>
|
|
<span class="token keyword">import</span> <span class="token import"><span class="token namespace">com<span class="token punctuation">.</span>taobao<span class="token punctuation">.</span>arthas<span class="token punctuation">.</span>core<span class="token punctuation">.</span>shell<span class="token punctuation">.</span>command<span class="token punctuation">.</span></span><span class="token class-name">CommandProcess</span></span><span class="token punctuation">;</span>
|
|
<span class="token keyword">import</span> <span class="token import"><span class="token namespace">com<span class="token punctuation">.</span>taobao<span class="token punctuation">.</span>middleware<span class="token punctuation">.</span>cli<span class="token punctuation">.</span>annotations<span class="token punctuation">.</span></span><span class="token class-name">Argument</span></span><span class="token punctuation">;</span>
|
|
<span class="token keyword">import</span> <span class="token import"><span class="token namespace">com<span class="token punctuation">.</span>taobao<span class="token punctuation">.</span>middleware<span class="token punctuation">.</span>cli<span class="token punctuation">.</span>annotations<span class="token punctuation">.</span></span><span class="token class-name">Description</span></span><span class="token punctuation">;</span>
|
|
<span class="token keyword">import</span> <span class="token import"><span class="token namespace">com<span class="token punctuation">.</span>taobao<span class="token punctuation">.</span>middleware<span class="token punctuation">.</span>cli<span class="token punctuation">.</span>annotations<span class="token punctuation">.</span></span><span class="token class-name">Name</span></span><span class="token punctuation">;</span>
|
|
<span class="token keyword">import</span> <span class="token import"><span class="token namespace">com<span class="token punctuation">.</span>taobao<span class="token punctuation">.</span>middleware<span class="token punctuation">.</span>cli<span class="token punctuation">.</span>annotations<span class="token punctuation">.</span></span><span class="token class-name">Summary</span></span><span class="token punctuation">;</span>
|
|
|
|
<span class="token annotation punctuation">@Name</span><span class="token punctuation">(</span><span class="token string">"demo-external"</span><span class="token punctuation">)</span>
|
|
<span class="token annotation punctuation">@Summary</span><span class="token punctuation">(</span><span class="token string">"Demo external command loaded from arthas.home/commands"</span><span class="token punctuation">)</span>
|
|
<span class="token annotation punctuation">@Description</span><span class="token punctuation">(</span><span class="token string">"Examples:\n"</span>
|
|
<span class="token operator">+</span> <span class="token string">" demo-external\n"</span>
|
|
<span class="token operator">+</span> <span class="token string">" demo-external Codex\n"</span><span class="token punctuation">)</span>
|
|
<span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">DemoExternalCommand</span> <span class="token keyword">extends</span> <span class="token class-name">AnnotatedCommand</span> <span class="token punctuation">{</span>
|
|
|
|
<span class="token keyword">private</span> <span class="token class-name">String</span> message<span class="token punctuation">;</span>
|
|
|
|
<span class="token annotation punctuation">@Argument</span><span class="token punctuation">(</span>index <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">,</span> argName <span class="token operator">=</span> <span class="token string">"message"</span><span class="token punctuation">,</span> required <span class="token operator">=</span> <span class="token boolean">false</span><span class="token punctuation">)</span>
|
|
<span class="token annotation punctuation">@Description</span><span class="token punctuation">(</span><span class="token string">"message printed by the demo external command"</span><span class="token punctuation">)</span>
|
|
<span class="token keyword">public</span> <span class="token keyword">void</span> <span class="token function">setMessage</span><span class="token punctuation">(</span><span class="token class-name">String</span> message<span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
|
<span class="token keyword">this</span><span class="token punctuation">.</span>message <span class="token operator">=</span> message<span class="token punctuation">;</span>
|
|
<span class="token punctuation">}</span>
|
|
|
|
<span class="token annotation punctuation">@Override</span>
|
|
<span class="token keyword">public</span> <span class="token keyword">void</span> <span class="token function">process</span><span class="token punctuation">(</span><span class="token class-name">CommandProcess</span> process<span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
|
<span class="token class-name">String</span> value <span class="token operator">=</span> message<span class="token punctuation">;</span>
|
|
<span class="token keyword">if</span> <span class="token punctuation">(</span>value <span class="token operator">==</span> <span class="token keyword">null</span> <span class="token operator">||</span> value<span class="token punctuation">.</span><span class="token function">trim</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">isEmpty</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
|
value <span class="token operator">=</span> <span class="token string">"hello"</span><span class="token punctuation">;</span>
|
|
<span class="token punctuation">}</span>
|
|
process<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span><span class="token string">"demo external command loaded: "</span> <span class="token operator">+</span> value <span class="token operator">+</span> <span class="token string">"\n"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
|
process<span class="token punctuation">.</span><span class="token function">end</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Example <code>CommandResolver</code>:</p><div class="language-java ext-java line-numbers-mode"><pre class="language-java"><code><span class="token keyword">package</span> <span class="token namespace">demo<span class="token punctuation">.</span>command</span><span class="token punctuation">;</span>
|
|
|
|
<span class="token keyword">import</span> <span class="token import"><span class="token namespace">java<span class="token punctuation">.</span>util<span class="token punctuation">.</span></span><span class="token class-name">Collections</span></span><span class="token punctuation">;</span>
|
|
<span class="token keyword">import</span> <span class="token import"><span class="token namespace">java<span class="token punctuation">.</span>util<span class="token punctuation">.</span></span><span class="token class-name">List</span></span><span class="token punctuation">;</span>
|
|
|
|
<span class="token keyword">import</span> <span class="token import"><span class="token namespace">com<span class="token punctuation">.</span>taobao<span class="token punctuation">.</span>arthas<span class="token punctuation">.</span>core<span class="token punctuation">.</span>shell<span class="token punctuation">.</span>command<span class="token punctuation">.</span></span><span class="token class-name">Command</span></span><span class="token punctuation">;</span>
|
|
<span class="token keyword">import</span> <span class="token import"><span class="token namespace">com<span class="token punctuation">.</span>taobao<span class="token punctuation">.</span>arthas<span class="token punctuation">.</span>core<span class="token punctuation">.</span>shell<span class="token punctuation">.</span>command<span class="token punctuation">.</span></span><span class="token class-name">CommandResolver</span></span><span class="token punctuation">;</span>
|
|
|
|
<span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">DemoExternalCommandResolver</span> <span class="token keyword">implements</span> <span class="token class-name">CommandResolver</span> <span class="token punctuation">{</span>
|
|
|
|
<span class="token annotation punctuation">@Override</span>
|
|
<span class="token keyword">public</span> <span class="token class-name">List</span><span class="token generics"><span class="token punctuation"><</span><span class="token class-name">Command</span><span class="token punctuation">></span></span> <span class="token function">commands</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
|
<span class="token keyword">return</span> <span class="token class-name">Collections</span><span class="token punctuation">.</span><span class="token function">singletonList</span><span class="token punctuation">(</span><span class="token class-name">Command</span><span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span><span class="token class-name">DemoExternalCommand</span><span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SPI file path:</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>src/main/resources/META-INF/services/com.taobao.arthas.core.shell.command.CommandResolver
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>SPI file content:</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>demo.command.DemoExternalCommandResolver
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="maven-dependencies" tabindex="-1"><a class="header-anchor" href="#maven-dependencies" aria-hidden="true">#</a> Maven dependencies</h2><p>External commands depend on Arthas command interfaces and CLI annotations. These dependencies should usually use <code>provided</code> scope to avoid packaging Arthas classes into the external command jar:</p><div class="language-xml ext-xml line-numbers-mode"><pre class="language-xml"><code><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>dependencies</span><span class="token punctuation">></span></span>
|
|
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>dependency</span><span class="token punctuation">></span></span>
|
|
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>groupId</span><span class="token punctuation">></span></span>com.taobao.arthas<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>groupId</span><span class="token punctuation">></span></span>
|
|
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>artifactId</span><span class="token punctuation">></span></span>arthas-core<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>artifactId</span><span class="token punctuation">></span></span>
|
|
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>version</span><span class="token punctuation">></span></span>${arthas.version}<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>version</span><span class="token punctuation">></span></span>
|
|
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>scope</span><span class="token punctuation">></span></span>provided<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>scope</span><span class="token punctuation">></span></span>
|
|
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>dependency</span><span class="token punctuation">></span></span>
|
|
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>dependency</span><span class="token punctuation">></span></span>
|
|
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>groupId</span><span class="token punctuation">></span></span>com.alibaba.middleware<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>groupId</span><span class="token punctuation">></span></span>
|
|
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>artifactId</span><span class="token punctuation">></span></span>cli<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>artifactId</span><span class="token punctuation">></span></span>
|
|
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>scope</span><span class="token punctuation">></span></span>provided<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>scope</span><span class="token punctuation">></span></span>
|
|
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>dependency</span><span class="token punctuation">></span></span>
|
|
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>dependencies</span><span class="token punctuation">></span></span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>The Arthas repository provides a complete example: <a href="https://github.com/alibaba/arthas/tree/master/arthas-demo-external-command" target="_blank" rel="noopener noreferrer">arthas-demo-external-command<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>.</p><h2 id="build-and-verify" tabindex="-1"><a class="header-anchor" href="#build-and-verify" aria-hidden="true">#</a> Build and verify</h2><p>Use the demo module as an example:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>./mvnw <span class="token parameter variable">-pl</span> arthas-demo-external-command <span class="token parameter variable">-DskipTests</span> package
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>Copy the generated jar to <code>${arthas.home}/commands/</code> and start Arthas:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">mkdir</span> <span class="token parameter variable">-p</span> <span class="token variable">${arthas.home}</span>/commands
|
|
<span class="token function">cp</span> arthas-demo-external-command/target/arthas-demo-external-command-*.jar <span class="token variable">${arthas.home}</span>/commands/
|
|
<span class="token function">java</span> <span class="token parameter variable">-jar</span> arthas-boot.jar <span class="token operator"><</span>pid<span class="token operator">></span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Run the command in Arthas:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token builtin class-name">help</span> demo-external
|
|
demo-external Codex
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p>Expected output:</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>demo external command loaded: Codex
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="loading-behavior-and-conflicts" tabindex="-1"><a class="header-anchor" href="#loading-behavior-and-conflicts" aria-hidden="true">#</a> Loading behavior and conflicts</h2><p>At startup, Arthas appends external command jars to the Arthas ClassLoader and discovers commands with <code>ServiceLoader<CommandResolver></code>. Command registration follows these rules:</p><ul><li>External commands cannot override built-in commands. If an external command has the same name as a built-in command, it is skipped and a log is written.</li><li>If multiple external commands have the same name, only the first command is kept. Later duplicates are skipped and logged.</li><li>A broken <code>CommandResolver</code> does not stop other resolvers from loading. The error is written to the Arthas log.</li><li>If no valid external command is found, Arthas continues to start normally.</li></ul></div><!--[--><!--]--></div><footer class="page-meta right-menu-padding" data-v-fdd717e0><div class="meta-item edit-link"><a class="external-link meta-item-label" href="https://github.com/alibaba/arthas/edit/master/site/docs/en/doc/external-command.md" rel="noopener noreferrer" target="_blank" aria-label="Edit this page on GitHub"><!--[--><!--]--><span>Edit this page on GitHub</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><div class="meta-item last-updated"><span class="meta-item-label">Last Updated: </span><!----></div><div class="meta-item contributors"><span class="meta-item-label">Contributors: </span><span class="meta-item-info"><!--[--><!--[--><span class="contributor" title="email: hengyunabc@gmail.com">hengyunabc</span><!----><!--]--><!--]--></span></div></footer><nav class="page-nav right-menu-padding" data-v-fdd717e0><p class="inner"><span class="prev"><a href="/en/doc/spring-boot-starter.html" class="" aria-label="Arthas Spring Boot Starter"><!--[--><!--]--> Arthas Spring Boot Starter <!--[--><!--]--></a></span><span class="next"><a href="/en/doc/http-api.html" class="" aria-label="Http API"><!--[--><!--]--> Http API <!--[--><!--]--></a></span></p></nav><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
|
|
<script type="module" src="/assets/app.e2427bec.js" defer></script>
|
|
</body>
|
|
</html>
|