Files
arthas/doc/external-command.html

119 lines
89 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN">
<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>加载外部命令 | arthas</title><meta name="description" content="arthas 使用文档">
<link rel="modulepreload" href="/assets/app.e2427bec.js"><link rel="modulepreload" href="/assets/external-command.html.f331f51e.js"><link rel="modulepreload" href="/assets/external-command.html.9a47f025.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/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/external-command.html.3e8d782b.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/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/external-command.html.cc4ab827.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="切换侧边栏" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/" 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="/" class="" aria-label="首页"><!--[--><!--]--> 首页 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/doc/" class="router-link-active" aria-label="文档"><!--[--><!--]--> 文档 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/doc/commands.md" class="" aria-label="命令列表"><!--[--><!--]--> 命令列表 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/doc/download.md" class="" aria-label="下载"><!--[--><!--]--> 下载 <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="版本"><span class="title">版本</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="版本"><span class="title">版本</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/" 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">在新窗口打开</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 aria-current="page" href="/doc/external-command.html" class="router-link-active router-link-exact-active router-link-active" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/en/doc/external-command.html" class="" 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="切换颜色模式"><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="/" class="" aria-label="首页"><!--[--><!--]--> 首页 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/doc/" class="router-link-active" aria-label="文档"><!--[--><!--]--> 文档 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/doc/commands.md" class="" aria-label="命令列表"><!--[--><!--]--> 命令列表 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/doc/download.md" class="" aria-label="下载"><!--[--><!--]--> 下载 <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="版本"><span class="title">版本</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="版本"><span class="title">版本</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/" 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">在新窗口打开</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 aria-current="page" href="/doc/external-command.html" class="router-link-active router-link-exact-active router-link-active" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/en/doc/external-command.html" class="" 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="搜索" aria-label="搜索" 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>文档 <!----></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="/doc/" class="router-link-active sidebar-item" aria-label="简介" data-v-558ea87d><!--[--><!--]--> 简介 <!--[--><!--]--></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="/doc/quick-start.html" class="sidebar-item" aria-label="快速入门" data-v-558ea87d><!--[--><!--]--> 快速入门 <!--[--><!--]--></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="/doc/install-detail.html" class="sidebar-item" aria-label="Arthas Install" data-v-558ea87d><!--[--><!--]--> Arthas Install <!--[--><!--]--></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="/doc/download.html" class="sidebar-item" aria-label="下载" data-v-558ea87d><!--[--><!--]--> 下载 <!--[--><!--]--></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="/doc/advice-class.html" class="sidebar-item" aria-label="表达式核心变量" data-v-558ea87d><!--[--><!--]--> 表达式核心变量 <!--[--><!--]--></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="展开 命令列表" data-v-558ea87d><span class="sidebar-tree-chevron" aria-hidden="true" data-v-558ea87d></span></button><a href="/doc/commands.md" class="sidebar-item collapsible" aria-label="命令列表" data-v-558ea87d><!--[--><!--]--> 命令列表 <!--[--><!--]--></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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/doc/ognl-express.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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="/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="展开 AI 相关" data-v-558ea87d><span class="sidebar-tree-chevron" aria-hidden="true" data-v-558ea87d></span></button><a href="/doc/ai.md" class="sidebar-item collapsible" aria-label="AI 相关" data-v-558ea87d><!--[--><!--]--> AI 相关 <!--[--><!--]--></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="/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="收起 其他特性" data-v-558ea87d><span class="open sidebar-tree-chevron" aria-hidden="true" data-v-558ea87d></span></button><a href="/doc/advanced-use.md" class="sidebar-item active collapsible" aria-label="其他特性" data-v-558ea87d><!--[--><!--]--> 其他特性 <!--[--><!--]--></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="/doc/async.html" class="sidebar-item" aria-label="Arthas 后台异步任务" data-v-558ea87d><!--[--><!--]--> 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="/doc/save-log.html" class="sidebar-item" aria-label="执行结果存日志" data-v-558ea87d><!--[--><!--]--> 执行结果存日志 <!--[--><!--]--></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="/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="/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="/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="/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="/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="/doc/agent.html" class="sidebar-item" aria-label="以 Java Agent 的方式启动" data-v-558ea87d><!--[--><!--]--> 以 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="/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="/doc/external-command.html" class="router-link-active router-link-exact-active router-link-active sidebar-item active" aria-label="加载外部命令" data-v-558ea87d><!--[--><!--]--> 加载外部命令 <!--[--><!--]--></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="/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="/doc/batch-support.html" class="sidebar-item" aria-label="批处理功能" data-v-558ea87d><!--[--><!--]--> 批处理功能 <!--[--><!--]--></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="/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="用户案例" data-v-558ea87d><!--[--><!--]--><span>用户案例</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">在新窗口打开</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">在新窗口打开</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="编译调试/参与贡献" data-v-558ea87d><!--[--><!--]--><span>编译调试/参与贡献</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">在新窗口打开</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">在新窗口打开</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="/doc/contact-us.md" class="sidebar-item" aria-label="QQ 群/钉钉群" data-v-558ea87d><!--[--><!--]--> QQ 群/钉钉群 <!--[--><!--]--></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>目录</div><div class="right-menu-content" data-v-64666cd5><!--[--><!--]--></div></div></div><div data-v-fdd717e0><h1 id="加载外部命令" tabindex="-1"><a class="header-anchor" href="#加载外部命令" aria-hidden="true">#</a> 加载外部命令</h1><p>Arthas 支持在启动时加载外部 command jar,用于把团队内部常用的诊断动作封装成新的 Arthas 命令。外部命令加载后可以像内置命令一样通过 <code>help</code> 查看和执行。</p><div class="custom-container tip"><p class="custom-container-title">提示</p><p>外部命令只在 Arthas 服务端启动时加载。Arthas 已经 attach 到目标 JVM 后,再把 jar 放到目录里不会自动生效,需要重新启动 Arthas 服务端。</p></div><h2 id="加载方式" tabindex="-1"><a class="header-anchor" href="#加载方式" aria-hidden="true">#</a> 加载方式</h2><h3 id="通过命令行指定" tabindex="-1"><a class="header-anchor" href="#通过命令行指定" aria-hidden="true">#</a> 通过命令行指定</h3><p><code>arthas-boot.jar</code> 支持 <code>--command-locations</code> 参数,参数值可以是 jar 文件路径,也可以是目录路径,多个路径用英文逗号分隔:</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">&#39;/opt/arthas/ext-command.jar,/opt/arthas/ext-commands&#39;</span> <span class="token operator">&lt;</span>pid<span class="token operator">&gt;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>如果使用完整包里的 <code>as.sh</code>,也可以传入相同参数:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>./as.sh --command-locations <span class="token string">&#39;/opt/arthas/ext-command.jar,/opt/arthas/ext-commands&#39;</span> <span class="token operator">&lt;</span>pid<span class="token operator">&gt;</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>在 <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>如果通过 <code>arthas-spring-boot-starter</code> 启动,Spring Boot 配置文件中推荐使用 <code>arthas.command-locations</code>:</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="默认-commands-目录" tabindex="-1"><a class="header-anchor" href="#默认-commands-目录" aria-hidden="true">#</a> 默认 commands 目录</h3><p>如果 <code>${arthas.home}/commands</code> 目录存在,Arthas 启动时也会自动加载该目录下的 <code>*.jar</code>:</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>显式配置的 <code>arthas.commandLocations</code> 会先加载,随后再加载默认的 <code>${arthas.home}/commands</code> 目录。</p><h2 id="目录扫描规则" tabindex="-1"><a class="header-anchor" href="#目录扫描规则" aria-hidden="true">#</a> 目录扫描规则</h2><ul><li>单个路径可以指向 jar 文件,也可以指向目录。</li><li>目录只扫描当前目录下的 <code>*.jar</code>,不会递归扫描子目录。</li><li>同一个 jar 路径会按规范化后的绝对路径去重。</li><li>如果外部命令依赖第三方 jar,可以把依赖打包进命令 jar,或把依赖 jar 一起放到被扫描的目录中。</li></ul><h2 id="编写外部命令" tabindex="-1"><a class="header-anchor" href="#编写外部命令" aria-hidden="true">#</a> 编写外部命令</h2><p>外部命令 jar 通过 Java SPI 暴露 <code>CommandResolver</code>。一个最小命令通常包含三个部分:</p><ol><li>实现一个命令类,继承 <code>AnnotatedCommand</code>。</li><li>实现 <code>CommandResolver</code>,返回命令列表。</li><li>在 <code>META-INF/services/com.taobao.arthas.core.shell.command.CommandResolver</code> 中写入 <code>CommandResolver</code> 实现类名。</li></ol><p>示例命令:</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">&quot;demo-external&quot;</span><span class="token punctuation">)</span>
<span class="token annotation punctuation">@Summary</span><span class="token punctuation">(</span><span class="token string">&quot;Demo external command loaded from arthas.home/commands&quot;</span><span class="token punctuation">)</span>
<span class="token annotation punctuation">@Description</span><span class="token punctuation">(</span><span class="token string">&quot;Examples:\n&quot;</span>
<span class="token operator">+</span> <span class="token string">&quot; demo-external\n&quot;</span>
<span class="token operator">+</span> <span class="token string">&quot; demo-external Codex\n&quot;</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">&quot;message&quot;</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">&quot;message printed by the demo external command&quot;</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">&quot;hello&quot;</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">&quot;demo external command loaded: &quot;</span> <span class="token operator">+</span> value <span class="token operator">+</span> <span class="token string">&quot;\n&quot;</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>示例 <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">&lt;</span><span class="token class-name">Command</span><span class="token punctuation">&gt;</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 文件路径:</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 文件内容:</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-依赖" tabindex="-1"><a class="header-anchor" href="#maven-依赖" aria-hidden="true">#</a> Maven 依赖</h2><p>外部命令需要依赖 Arthas 的命令接口和 CLI 注解。建议将这些依赖声明为 <code>provided</code>,避免把 Arthas 自身类重复打包进外部命令 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">&lt;</span>dependencies</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dependency</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>groupId</span><span class="token punctuation">&gt;</span></span>com.taobao.arthas<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>groupId</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>artifactId</span><span class="token punctuation">&gt;</span></span>arthas-core<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>artifactId</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>version</span><span class="token punctuation">&gt;</span></span>${arthas.version}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>version</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>scope</span><span class="token punctuation">&gt;</span></span>provided<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>scope</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dependency</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dependency</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>groupId</span><span class="token punctuation">&gt;</span></span>com.alibaba.middleware<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>groupId</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>artifactId</span><span class="token punctuation">&gt;</span></span>cli<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>artifactId</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>scope</span><span class="token punctuation">&gt;</span></span>provided<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>scope</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dependency</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dependencies</span><span class="token punctuation">&gt;</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>Arthas 仓库中提供了完整示例:<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">在新窗口打开</span></span></a>。</p><h2 id="构建和验证" tabindex="-1"><a class="header-anchor" href="#构建和验证" aria-hidden="true">#</a> 构建和验证</h2><p>以示例模块为例,构建命令 jar:</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>将生成的 jar 放到 <code>${arthas.home}/commands/</code> 后启动 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">&lt;</span>pid<span class="token operator">&gt;</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>进入 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>预期可以看到类似输出:</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="加载行为和冲突处理" tabindex="-1"><a class="header-anchor" href="#加载行为和冲突处理" aria-hidden="true">#</a> 加载行为和冲突处理</h2><p>Arthas 启动时会把外部 command jar 加入 Arthas ClassLoader,然后通过 <code>ServiceLoader&lt;CommandResolver&gt;</code> 发现命令。命令注册时遵循下面规则:</p><ul><li>外部命令不能覆盖 Arthas 内置命令;如果和内置命令重名,外部命令会被跳过并记录日志。</li><li>多个外部命令重名时,只保留第一个命令,后续重名命令会被跳过并记录日志。</li><li><code>CommandResolver</code> 加载失败不会中断其他 resolver 的加载,错误会写入 Arthas 日志。</li><li>如果没有发现有效的外部命令,Arthas 会继续按正常流程启动。</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/doc/external-command.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页"><!--[--><!--]--><span>在 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">在新窗口打开</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">贡献者: </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="/doc/spring-boot-starter.html" class="" aria-label="Arthas Spring Boot Starter"><!--[--><!--]--> Arthas Spring Boot Starter <!--[--><!--]--></a></span><span class="next"><a href="/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>