|
|
<!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>tt | arthas</title><meta name="description" content="arthas 使用文档">
|
|
|
<link rel="modulepreload" href="/assets/app.5e87b7e3.js"><link rel="modulepreload" href="/assets/tt.html.2332c01e.js"><link rel="modulepreload" href="/assets/tt.html.fa4d9c56.js"><link rel="prefetch" href="/assets/index.html.960bfdd3.js"><link rel="prefetch" href="/assets/index.html.00e16dda.js"><link rel="prefetch" href="/assets/index.html.5723c979.js"><link rel="prefetch" href="/assets/advanced-use.html.e91c4971.js"><link rel="prefetch" href="/assets/advice-class.html.2029f175.js"><link rel="prefetch" href="/assets/agent.html.fa285ea6.js"><link rel="prefetch" href="/assets/arthas-properties.html.16fa7682.js"><link rel="prefetch" href="/assets/arthas3.html.1201931c.js"><link rel="prefetch" href="/assets/async.html.c6fad914.js"><link rel="prefetch" href="/assets/auth.html.c10c9f5e.js"><link rel="prefetch" href="/assets/base64.html.a6a4a2ad.js"><link rel="prefetch" href="/assets/batch-support.html.f57652c7.js"><link rel="prefetch" href="/assets/cat.html.b3497770.js"><link rel="prefetch" href="/assets/classloader.html.e98e7470.js"><link rel="prefetch" href="/assets/cls.html.d76c79c3.js"><link rel="prefetch" href="/assets/commands.html.27eec831.js"><link rel="prefetch" href="/assets/contact-us.html.63bd2c0b.js"><link rel="prefetch" href="/assets/dashboard.html.16d45267.js"><link rel="prefetch" href="/assets/docker.html.720ade72.js"><link rel="prefetch" href="/assets/download.html.789000ae.js"><link rel="prefetch" href="/assets/dump.html.3699c6ed.js"><link rel="prefetch" href="/assets/echo.html.4924a036.js"><link rel="prefetch" href="/assets/faq.html.86a513d4.js"><link rel="prefetch" href="/assets/getstatic.html.5fa1ed7e.js"><link rel="prefetch" href="/assets/grep.html.c520ae3b.js"><link rel="prefetch" href="/assets/groovy.html.8f04aa08.js"><link rel="prefetch" href="/assets/heapdump.html.2ddea4ab.js"><link rel="prefetch" href="/assets/help.html.34c42702.js"><link rel="prefetch" href="/assets/history.html.f851697e.js"><link rel="prefetch" href="/assets/http-api.html.1302a07d.js"><link rel="prefetch" href="/assets/idea-plugin.html.6cbc05e6.js"><link rel="prefetch" href="/assets/install-detail.html.845b09dc.js"><link rel="prefetch" href="/assets/jad.html.f42b73a8.js"><link rel="prefetch" href="/assets/jfr.html.050ed896.js"><link rel="prefetch" href="/assets/jvm.html.8f4f1b8d.js"><link rel="prefetch" href="/assets/keymap.html.3ca88526.js"><link rel="prefetch" href="/assets/logger.html.c26ab313.js"><link rel="prefetch" href="/assets/manual-install.html.768b3c2d.js"><link rel="prefetch" href="/assets/mbean.html.196c866d.js"><link rel="prefetch" href="/assets/mc.html.61492e8e.js"><link rel="prefetch" href="/assets/memory.html.e334106f.js"><link rel="prefetch" href="/assets/monitor.html.d612684e.js"><link rel="prefetch" href="/assets/ognl.html.8f9c2331.js"><link rel="prefetch" href="/assets/options.html.dfbba303.js"><link rel="prefetch" href="/assets/perfcounter.html.cbbc3ab7.js"><link rel="prefetch" href="/assets/profiler.html.9d3961e6.js"><link rel="prefetch" href="/assets/pwd.html.5140d483.js"><link rel="prefetch" href="/assets/quick-start.html.6ffb6846.js"><link rel="prefetch" href="/assets/quit.html.707ec74c.js"><link rel="prefetch" href="/assets/redefine.html.aa3d574d.js"><link rel="prefetch" href="/assets/release-notes.html.b07de003.js"><link rel="prefetch" href="/assets/reset.html.758b8323.js"><link rel="prefetch" href="/assets/retransform.html.a7c1ed5f.js"><link rel="prefetch" href="/assets/save-log.html.326b8ae5.js"><link rel="prefetch" href="/assets/sc.html.488c7d5c.js"><link rel="prefetch" href="/assets/session.html.80199657.js"><link rel="prefetch" href="/assets/sm.html.b85e4b76.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.55dee76b.js"><link rel="prefetch" href="/assets/stack.html.72e5fa11.js"><link rel="prefetch" href="/assets/start-arthas.html.acb60428.js"><link rel="prefetch" href="/assets/stop.html.82d50e6c.js"><link rel="prefetch" href="/assets/sysenv.html.fb99f9f4.js"><link rel="prefetch" href="/assets/sysprop.html.603daacf.js"><link rel="prefetch" href="/assets/tee.html.30146805.js"><link rel="prefetch" href="/assets/thread.html.3beec45a.js"><link rel="prefetch" href="/assets/trace.html.1d091250.js"><link rel="prefetch" href="/assets/tunnel.html.e64b9432.js"><link rel="prefetch" href="/assets/version.html.18157346.js"><link rel="prefetch" href="/assets/vmoption.html.20e81f43.js"><link rel="prefetch" href="/assets/vmtool.html.ae492e66.js"><link rel="prefetch" href="/assets/watch.html.85561d2e.js"><link rel="prefetch" href="/assets/web-console.html.3eed78d4.js"><link rel="prefetch" href="/assets/index.html.b360d161.js"><link rel="prefetch" href="/assets/advanced-use.html.3f3cf9d1.js"><link rel="prefetch" href="/assets/advice-class.html.b5583762.js"><link rel="prefetch" href="/assets/agent.html.3d0bf79a.js"><link rel="prefetch" href="/assets/arthas-properties.html.9230c8cc.js"><link rel="prefetch" href="/assets/async.html.383489b1.js"><link rel="prefetch" href="/assets/auth.html.f437c02a.js"><link rel="prefetch" href="/assets/base64.html.55524298.js"><link rel="prefetch" href="/assets/batch-support.html.96f10023.js"><link rel="prefetch" href="/assets/cat.html.dd9f01f6.js"><link rel="prefetch" href="/assets/classloader.html.fda0485d.js"><link rel="prefetch" href="/assets/cls.html.8e8e92a5.js"><link rel="prefetch" href="/assets/commands.html.2a218a2f.js"><link rel="prefetch" href="/assets/contact-us.html.e629848a.js"><link rel="prefetch" href="/assets/dashboard.html.5629e682.js"><link rel="prefetch" href="/assets/docker.html.4793fad8.js"><link rel="prefetch" href="/assets/download.html.032a346b.js"><link rel="prefetch" href="/assets/dump.html.82a47bb0.js"><link rel="prefetch" href="/assets/echo.html.3d0abf25.js"><link rel="prefetch" href="/assets/faq.html.a0491dc4.js"><link rel="prefetch" href="/assets/getstatic.html.64262e7a.js"><link rel="prefetch" href="/assets/grep.html.16b496a0.js"><link rel="prefetch" href="/assets/groovy.html.27231d58.js"><link rel="prefetch" href="/assets/heapdump.html.0b2c36fb.js"><link rel="prefetch" href="/assets/help.html.8cc46936.js"><link rel="prefetch" href="/assets/history.html.084bd78d.js"><link rel="prefetch" href="/assets/http-api.html.c9e21e29.js"><link rel="prefetch" href="/assets/idea-plugin.html.b8bd23f6.js"><link rel="prefetch" href="/assets/install-detail.html.783c530f.js"><link rel="prefetch" href="/assets/jad.html.623664f4.js"><link rel="prefetch" href="/assets/jfr.html.2c037ac4.js"><link rel="prefetch" href="/assets/jvm.html.cea0c1d1.js"><link rel="prefetch" href="/assets/keymap.html.fb5f8070.js"><link rel="prefetch" href="/assets/logger.html.a925a3b3.js"><link rel="prefetch" href="/assets/manual-install.html.09519685.js"><link rel="prefetch" href="/assets/mbean.html.6078e8fd.js"><link rel="prefetch" href="/assets/mc.html.a9368ed1.js"><link rel="prefetch" href="/assets/memory.html.d8f5fe27.js"><link rel="prefetch" href="/assets/monitor.html.13f984ca.js"><link rel="prefetch" href="/assets/ognl.html.6672710b.js"><link rel="prefetch" href="/assets/options.html.33003335.js"><link rel="prefetch" href="/assets/perfcounter.html.df505ec9.js"><link rel="prefetch" href="/assets/profiler.html.466b23a5.js"><link rel="prefetch" href="/assets/pwd.html.2a719510.js"><link rel="prefetch" href="/assets/quick-start.html.78fa17b5.js"><link rel="prefetch" href="/assets/quit.html.38257361.js"><link rel="prefetch" href="/assets/redefine.html.ba900e4f.js"><link rel="prefetch" href="/assets/release-notes.html.8ad9e23a.js"><link rel="prefetch" href="/assets/reset.html.b284d1bc.js"><link rel="prefetch" href="/assets/retransform.html.64468c89.js"><link rel="prefetch" href="/assets/save-log.html.003fe517.js"><link rel="prefetch" href="/assets/sc.html.6914a4f3.js"><link rel="prefetch" href="/assets/session.html.2802f4e5.js"><link rel="prefetch" href="/assets/sm.html.27429f16.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.dd021b07.js"><link rel="prefetch" href="/assets/stack.html.484eb55e.js"><link rel="prefetch" href="/assets/start-arthas.html.e80d1f7d.js"><link rel="prefetch" href="/assets/stop.html.6505ac45.js"><link rel="prefetch" href="/assets/sysenv.html.ee9b40ae.js"><link rel="prefetch" href="/assets/sysprop.html.75d57a59.js"><link rel="prefetch" href="/assets/tee.html.21ec3bd0.js"><link rel="prefetch" href="/assets/thread.html.79640669.js"><link rel="prefetch" href="/assets/trace.html.25953ef7.js"><link rel="prefetch" href="/assets/tt.html.7f8f8cb7.js"><link rel="prefetch" href="/assets/tunnel.html.f85722d7.js"><link rel="prefetch" href="/assets/version.html.2ebb7bbb.js"><link rel="prefetch" href="/assets/vmoption.html.20bb649a.js"><link rel="prefetch" href="/assets/vmtool.html.7fcbb21e.js"><link rel="prefetch" href="/assets/watch.html.f1a7cf99.js"><link rel="prefetch" href="/assets/web-console.html.104f359c.js"><link rel="prefetch" href="/assets/intro.html.c2f65be3.js"><link rel="prefetch" href="/assets/user-question-history11440.html.76478b6f.js"><link rel="prefetch" href="/assets/user-question-history11442.html.e82b9b77.js"><link rel="prefetch" href="/assets/user-question-history11443.html.65fc0b89.js"><link rel="prefetch" href="/assets/user-question-history11444.html.fc804d5f.js"><link rel="prefetch" href="/assets/user-question-history11450.html.cbbd1b90.js"><link rel="prefetch" href="/assets/user-question-history11451.html.3447a0e1.js"><link rel="prefetch" href="/assets/user-question-history11452.html.b4d8994e.js"><link rel="prefetch" href="/assets/user-question-history11453.html.1c3b2fb9.js"><link rel="prefetch" href="/assets/user-question-history11454.html.76d0b644.js"><link rel="prefetch" href="/assets/user-question-history11466.html.fc91d538.js"><link rel="prefetch" href="/assets/user-question-history11467.html.0826f7af.js"><link rel="prefetch" href="/assets/user-question-history11468.html.b72ad0d4.js"><link rel="prefetch" href="/assets/user-question-history11469.html.60dff428.js"><link rel="prefetch" href="/assets/user-question-history11784.html.24adde7b.js"><link rel="prefetch" href="/assets/user-question-history11795.html.f96f8922.js"><link rel="prefetch" href="/assets/user-question-history11809.html.d82428b8.js"><link rel="prefetch" href="/assets/user-question-history11810.html.325ddc88.js"><link rel="prefetch" href="/assets/user-question-history11814.html.2ab2f956.js"><link rel="prefetch" href="/assets/user-question-history12453.html.b7b0b9b0.js"><link rel="prefetch" href="/assets/user-question-history12454.html.290accf4.js"><link rel="prefetch" href="/assets/user-question-history12455.html.d175c723.js"><link rel="prefetch" href="/assets/user-question-history12706.html.0a16a74f.js"><link rel="prefetch" href="/assets/user-question-history12715.html.4423d1d9.js"><link rel="prefetch" href="/assets/user-question-history12716.html.48475958.js"><link rel="prefetch" href="/assets/user-question-history12740.html.651e3e35.js"><link rel="prefetch" href="/assets/user-question-history12741.html.150b9eef.js"><link rel="prefetch" href="/assets/user-question-history13448.html.7de0f21f.js"><link rel="prefetch" href="/assets/user-question-history13504.html.64651cc2.js"><link rel="prefetch" href="/assets/user-question-history13506.html.77ef2fd6.js"><link rel="prefetch" href="/assets/user-question-history13507.html.9ae95c4f.js"><link rel="prefetch" href="/assets/user-question-history13508.html.d3d1c712.js"><link rel="prefetch" href="/assets/user-question-history13509.html.129239cf.js"><link rel="prefetch" href="/assets/user-question-history13510.html.05f5620c.js"><link rel="prefetch" href="/assets/user-question-history13511.html.e89aa80b.js"><link rel="prefetch" href="/assets/user-question-history13512.html.c37f7b10.js"><link rel="prefetch" href="/assets/user-question-history13513.html.180aa8c2.js"><link rel="prefetch" href="/assets/user-question-history13522.html.6405e52f.js"><link rel="prefetch" href="/assets/user-question-history14763.html.5770b4a8.js"><link rel="prefetch" href="/assets/user-question-history14831.html.9a9df539.js"><link rel="prefetch" href="/assets/user-question-history14832.html.0781a2ad.js"><link rel="prefetch" href="/assets/user-question-history14833.html.51b16195.js"><link rel="prefetch" href="/assets/user-question-history14834.html.dedca4c4.js"><link rel="prefetch" href="/assets/user-question-history14840.html.5d8124d4.js"><link rel="prefetch" href="/assets/user-question-history14843.html.77701574.js"><link rel="prefetch" href="/assets/user-question-history15167.html.38da0777.js"><link rel="prefetch" href="/assets/user-question-history15543.html.b03bb653.js"><link rel="prefetch" href="/assets/user-question-history15726.html.4894deaf.js"><link rel="prefetch" href="/assets/user-question-history15728.html.41a2aaf8.js"><link rel="prefetch" href="/assets/user-question-history15729.html.d3de2eb9.js"><link rel="prefetch" href="/assets/user-question-history15730.html.2321959f.js"><link rel="prefetch" href="/assets/user-question-history15731.html.a7dcacab.js"><link rel="prefetch" href="/assets/user-question-history15735.html.1363cca0.js"><link rel="prefetch" href="/assets/user-question-history15736.html.7e36c728.js"><link rel="prefetch" href="/assets/user-question-history15737.html.5b7ed1d4.js"><link rel="prefetch" href="/assets/user-question-history15738.html.287487e5.js"><link rel="prefetch" href="/assets/user-question-history15739.html.1961b608.js"><link rel="prefetch" href="/assets/user-question-history15740.html.d28a988a.js"><link rel="prefetch" href="/assets/404.html.f60e5451.js"><link rel="prefetch" href="/assets/index.html.633513d1.js"><link rel="prefetch" href="/assets/index.html.23b2ce3d.js"><link rel="prefetch" href="/assets/index.html.27d882b6.js"><link rel="prefetch" href="/assets/advanced-use.html.c633ae8a.js"><link rel="prefetch" href="/assets/advice-class.html.c26b4b52.js"><link rel="prefetch" href="/assets/agent.html.94c7b410.js"><link rel="prefetch" href="/assets/arthas-properties.html.b0a0edb2.js"><link rel="prefetch" href="/assets/arthas3.html.dc75e3c9.js"><link rel="prefetch" href="/assets/async.html.a4aa12ac.js"><link rel="prefetch" href="/assets/auth.html.b9717e5c.js"><link rel="prefetch" href="/assets/base64.html.c5d98e31.js"><link rel="prefetch" href="/assets/batch-support.html.c73a5520.js"><link rel="prefetch" href="/assets/cat.html.f689c4e9.js"><link rel="prefetch" href="/assets/classloader.html.e7d7910e.js"><link rel="prefetch" href="/assets/cls.html.351047c0.js"><link rel="prefetch" href="/assets/commands.html.dd3d881f.js"><link rel="prefetch" href="/assets/contact-us.html.147a7d5e.js"><link rel="prefetch" href="/assets/dashboard.html.d3ea2c44.js"><link rel="prefetch" href="/assets/docker.html.b4d7e9bd.js"><link rel="prefetch" href="/assets/download.html.d08af7d6.js"><link rel="prefetch" href="/assets/dump.html.4dee8895.js"><link rel="prefetch" href="/assets/echo.html.4e9f4d91.js"><link rel="prefetch" href="/assets/faq.html.6c2cc489.js"><link rel="prefetch" href="/assets/getstatic.html.04dc7e4e.js"><link rel="prefetch" href="/assets/grep.html.8455c564.js"><link rel="prefetch" href="/assets/groovy.html.29235555.js"><link rel="prefetch" href="/assets/heapdump.html.c668b0c7.js"><link rel="prefetch" href="/assets/help.html.e74e2700.js"><link rel="prefetch" href="/assets/history.html.fe55c913.js"><link rel="prefetch" href="/assets/http-api.html.22b27251.js"><link rel="prefetch" href="/assets/idea-plugin.html.39037d89.js"><link rel="prefetch" href="/assets/install-detail.html.bc44b821.js"><link rel="prefetch" href="/assets/jad.html.e10c0587.js"><link rel="prefetch" href="/assets/jfr.html.9a8565c4.js"><link rel="prefetch" href="/assets/jvm.html.4f849bc5.js"><link rel="prefetch" href="/assets/keymap.html.9a8a3b55.js"><link rel="prefetch" href="/assets/logger.html.4b6f2f61.js"><link rel="prefetch" href="/assets/manual-install.html.96ee80b1.js"><link rel="prefetch" href="/assets/mbean.html.4a59221b.js"><link rel="prefetch" href="/assets/mc.html.0e3bda4e.js"><link rel="prefetch" href="/assets/memory.html.b16045e7.js"><link rel="prefetch" href="/assets/monitor.html.c88cdafc.js"><link rel="prefetch" href="/assets/ognl.html.146f0fdc.js"><link rel="prefetch" href="/assets/options.html.c5da1312.js"><link rel="prefetch" href="/assets/perfcounter.html.f1a4e5e7.js"><link rel="prefetch" href="/assets/profiler.html.4e464af8.js"><link rel="prefetch" href="/assets/pwd.html.241f76ce.js"><link rel="prefetch" href="/assets/quick-start.html.2d8fa3d1.js"><link rel="prefetch" href="/assets/quit.html.b8df8dc7.js"><link rel="prefetch" href="/assets/redefine.html.b6374b8c.js"><link rel="prefetch" href="/assets/release-notes.html.49ff3ba0.js"><link rel="prefetch" href="/assets/reset.html.330a16ba.js"><link rel="prefetch" href="/assets/retransform.html.2828b7c5.js"><link rel="prefetch" href="/assets/save-log.html.e8d72545.js"><link rel="prefetch" href="/assets/sc.html.644de302.js"><link rel="prefetch" href="/assets/session.html.9ae4f0bb.js"><link rel="prefetch" href="/assets/sm.html.0a0759c5.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.9a41f823.js"><link rel="prefetch" href="/assets/stack.html.e2df45ca.js"><link rel="prefetch" href="/assets/start-arthas.html.140c13c8.js"><link rel="prefetch" href="/assets/stop.html.cf6fd018.js"><link rel="prefetch" href="/assets/sysenv.html.8de41a8a.js"><link rel="prefetch" href="/assets/sysprop.html.5f470b1d.js"><link rel="prefetch" href="/assets/tee.html.437f7725.js"><link rel="prefetch" href="/assets/thread.html.0dff6457.js"><link rel="prefetch" href="/assets/trace.html.68edc4aa.js"><link rel="prefetch" href="/assets/tunnel.html.2bd60828.js"><link rel="prefetch" href="/assets/version.html.974bef9e.js"><link rel="prefetch" href="/assets/vmoption.html.60163dc7.js"><link rel="prefetch" href="/assets/vmtool.html.5126c1e1.js"><link rel="prefetch" href="/assets/watch.html.eff55afc.js"><link rel="prefetch" href="/assets/web-console.html.c10dd581.js"><link rel="prefetch" href="/assets/index.html.11723993.js"><link rel="prefetch" href="/assets/advanced-use.html.635026b6.js"><link rel="prefetch" href="/assets/advice-class.html.a2852ed7.js"><link rel="prefetch" href="/assets/agent.html.b18e6c48.js"><link rel="prefetch" href="/assets/arthas-properties.html.0b9a4dff.js"><link rel="prefetch" href="/assets/async.html.5814e564.js"><link rel="prefetch" href="/assets/auth.html.0fc9fa3b.js"><link rel="prefetch" href="/assets/base64.html.b42b5901.js"><link rel="prefetch" href="/assets/batch-support.html.26695aca.js"><link rel="prefetch" href="/assets/cat.html.7086da27.js"><link rel="prefetch" href="/assets/classloader.html.eaa67c03.js"><link rel="prefetch" href="/assets/cls.html.52d0d645.js"><link rel="prefetch" href="/assets/commands.html.4116a8ca.js"><link rel="prefetch" href="/assets/contact-us.html.be65845e.js"><link rel="prefetch" href="/assets/dashboard.html.b972f99d.js"><link rel="prefetch" href="/assets/docker.html.d0da05ee.js"><link rel="prefetch" href="/assets/download.html.ad016ded.js"><link rel="prefetch" href="/assets/dump.html.96f126fe.js"><link rel="prefetch" href="/assets/echo.html.fe0f67e3.js"><link rel="prefetch" href="/assets/faq.html.999c141e.js"><link rel="prefetch" href="/assets/getstatic.html.2edb35cc.js"><link rel="prefetch" href="/assets/grep.html.e78911ec.js"><link rel="prefetch" href="/assets/groovy.html.2fe97f0b.js"><link rel="prefetch" href="/assets/heapdump.html.9e4c8ce7.js"><link rel="prefetch" href="/assets/help.html.cbc8fbe9.js"><link rel="prefetch" href="/assets/history.html.267e830a.js"><link rel="prefetch" href="/assets/http-api.html.f3d21c8a.js"><link rel="prefetch" href="/assets/idea-plugin.html.d95e93a5.js"><link rel="prefetch" href="/assets/install-detail.html.81255895.js"><link rel="prefetch" href="/assets/jad.html.7b7a28a8.js"><link rel="prefetch" href="/assets/jfr.html.c33ddbc0.js"><link rel="prefetch" href="/assets/jvm.html.739a6b9d.js"><link rel="prefetch" href="/assets/keymap.html.01e16b9f.js"><link rel="prefetch" href="/assets/logger.html.32c4b448.js"><link rel="prefetch" href="/assets/manual-install.html.b5e19a9c.js"><link rel="prefetch" href="/assets/mbean.html.09e885e2.js"><link rel="prefetch" href="/assets/mc.html.ea8da52c.js"><link rel="prefetch" href="/assets/memory.html.3090b7c8.js"><link rel="prefetch" href="/assets/monitor.html.9946de23.js"><link rel="prefetch" href="/assets/ognl.html.aca7895a.js"><link rel="prefetch" href="/assets/options.html.35b061df.js"><link rel="prefetch" href="/assets/perfcounter.html.d736e6bf.js"><link rel="prefetch" href="/assets/profiler.html.d800159c.js"><link rel="prefetch" href="/assets/pwd.html.7878430b.js"><link rel="prefetch" href="/assets/quick-start.html.b95a2e15.js"><link rel="prefetch" href="/assets/quit.html.e399fb76.js"><link rel="prefetch" href="/assets/redefine.html.4d25a303.js"><link rel="prefetch" href="/assets/release-notes.html.b10563c8.js"><link rel="prefetch" href="/assets/reset.html.eb49187f.js"><link rel="prefetch" href="/assets/retransform.html.bcba8cf5.js"><link rel="prefetch" href="/assets/save-log.html.2e22dcb0.js"><link rel="prefetch" href="/assets/sc.html.a8e6923c.js"><link rel="prefetch" href="/assets/session.html.47f3902a.js"><link rel="prefetch" href="/assets/sm.html.37bc8f7a.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.bfcc89f3.js"><link rel="prefetch" href="/assets/stack.html.a4941775.js"><link rel="prefetch" href="/assets/start-arthas.html.8e7ba404.js"><link rel="prefetch" href="/assets/stop.html.a2cc6c65.js"><link rel="prefetch" href="/assets/sysenv.html.7d667e76.js"><link rel="prefetch" href="/assets/sysprop.html.3adcf7fc.js"><link rel="prefetch" href="/assets/tee.html.7a1411d4.js"><link rel="prefetch" href="/assets/thread.html.c45d15c0.js"><link rel="prefetch" href="/assets/trace.html.46e2e0eb.js"><link rel="prefetch" href="/assets/tt.html.c77d1de4.js"><link rel="prefetch" href="/assets/tunnel.html.80e52d40.js"><link rel="prefetch" href="/assets/version.html.1e6afc3b.js"><link rel="prefetch" href="/assets/vmoption.html.a7dd5783.js"><link rel="prefetch" href="/assets/vmtool.html.e4c73bfb.js"><link rel="prefetch" href="/assets/watch.html.8c80bca3.js"><link rel="prefetch" href="/assets/web-console.html.267bfceb.js"><link rel="prefetch" href="/assets/intro.html.131ce027.js"><link rel="prefetch" href="/assets/user-question-history11440.html.6e2c232d.js"><link rel="prefetch" href="/assets/user-question-history11442.html.d457e262.js"><link rel="prefetch" href="/assets/user-question-history11443.html.cbc79e6a.js"><link rel="prefetch" href="/assets/user-question-history11444.html.0745223a.js"><link rel="prefetch" href="/assets/user-question-history11450.html.14729300.js"><link rel="prefetch" href="/assets/user-question-history11451.html.179bd3b3.js"><link rel="prefetch" href="/assets/user-question-history11452.html.5df961fd.js"><link rel="prefetch" href="/assets/user-question-history11453.html.afb6ddd7.js"><link rel="prefetch" href="/assets/user-question-history11454.html.dd364885.js"><link rel="prefetch" href="/assets/user-question-history11466.html.1f9fb482.js"><link rel="prefetch" href="/assets/user-question-history11467.html.fa387b3b.js"><link rel="prefetch" href="/assets/user-question-history11468.html.17acf7ea.js"><link rel="prefetch" href="/assets/user-question-history11469.html.300ed1fa.js"><link rel="prefetch" href="/assets/user-question-history11784.html.2f8142c0.js"><link rel="prefetch" href="/assets/user-question-history11795.html.bf91d914.js"><link rel="prefetch" href="/assets/user-question-history11809.html.c4a5a966.js"><link rel="prefetch" href="/assets/user-question-history11810.html.a5d51016.js"><link rel="prefetch" href="/assets/user-question-history11814.html.7e4707d3.js"><link rel="prefetch" href="/assets/user-question-history12453.html.49c7d376.js"><link rel="prefetch" href="/assets/user-question-history12454.html.b5edd5ec.js"><link rel="prefetch" href="/assets/user-question-history12455.html.017c397e.js"><link rel="prefetch" href="/assets/user-question-history12706.html.0cdd7bc7.js"><link rel="prefetch" href="/assets/user-question-history12715.html.854be33a.js"><link rel="prefetch" href="/assets/user-question-history12716.html.fdd367d9.js"><link rel="prefetch" href="/assets/user-question-history12740.html.543d463b.js"><link rel="prefetch" href="/assets/user-question-history12741.html.4c016b51.js"><link rel="prefetch" href="/assets/user-question-history13448.html.03cff8ee.js"><link rel="prefetch" href="/assets/user-question-history13504.html.8d214c11.js"><link rel="prefetch" href="/assets/user-question-history13506.html.130da214.js"><link rel="prefetch" href="/assets/user-question-history13507.html.a9e1f358.js"><link rel="prefetch" href="/assets/user-question-history13508.html.a496249f.js"><link rel="prefetch" href="/assets/user-question-history13509.html.7c529841.js"><link rel="prefetch" href="/assets/user-question-history13510.html.6c2c4039.js"><link rel="prefetch" href="/assets/user-question-history13511.html.189e149a.js"><link rel="prefetch" href="/assets/user-question-history13512.html.73e3a4c6.js"><link rel="prefetch" href="/assets/user-question-history13513.html.3b4b5b95.js"><link rel="prefetch" href="/assets/user-question-history13522.html.98c39bb4.js"><link rel="prefetch" href="/assets/user-question-history14763.html.fb24820d.js"><link rel="prefetch" href="/assets/user-question-history14831.html.54794476.js"><link rel="prefetch" href="/assets/user-question-history14832.html.159c7eaf.js"><link rel="prefetch" href="/assets/user-question-history14833.html.1c42cea2.js"><link rel="prefetch" href="/assets/user-question-history14834.html.135a418a.js"><link rel="prefetch" href="/assets/user-question-history14840.html.3836ca4b.js"><link rel="prefetch" href="/assets/user-question-history14843.html.2a24de1f.js"><link rel="prefetch" href="/assets/user-question-history15167.html.8672a0ee.js"><link rel="prefetch" href="/assets/user-question-history15543.html.4940cc67.js"><link rel="prefetch" href="/assets/user-question-history15726.html.2ae4353d.js"><link rel="prefetch" href="/assets/user-question-history15728.html.612c32ac.js"><link rel="prefetch" href="/assets/user-question-history15729.html.926e0f71.js"><link rel="prefetch" href="/assets/user-question-history15730.html.8d5cf77b.js"><link rel="prefetch" href="/assets/user-question-history15731.html.9d8a7198.js"><link rel="prefetch" href="/assets/user-question-history15735.html.1be3f1de.js"><link rel="prefetch" href="/assets/user-question-history15736.html.edd0ff0c.js"><link rel="prefetch" href="/assets/user-question-history15737.html.52e5eab8.js"><link rel="prefetch" href="/assets/user-question-history15738.html.6af3e811.js"><link rel="prefetch" href="/assets/user-question-history15739.html.f9f78123.js"><link rel="prefetch" href="/assets/user-question-history15740.html.f3a99367.js"><link rel="prefetch" href="/assets/404.html.06c7a1f6.js">
|
|
|
<link rel="stylesheet" href="/assets/style.cf0d4c26.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.0.1</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 class="external-link" href="/doc/arthas-tutorials.html?language=cn&id=arthas-basics" rel="noopener noreferrer" target="_blank" aria-label="在线教程"><!--[--><!--]--><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><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"><a href="/doc/expert/intro.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/tt.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/tt.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 class="external-link" href="/doc/arthas-tutorials.html?language=cn&id=arthas-basics" rel="noopener noreferrer" target="_blank" aria-label="在线教程"><!--[--><!--]--><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><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"><a href="/doc/expert/intro.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/tt.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/tt.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><!--[--><!--]--><ul class="sidebar-items"><!--[--><li><p tabindex="0" class="sidebar-item sidebar-heading active">文档 <!----></p><ul style="" class="sidebar-item-children"><!--[--><li><a href="/doc/" class="router-link-active sidebar-item" aria-label="简介"><!--[--><!--]--> 简介 <!--[--><!--]--></a><!----></li><li><a href="/doc/quick-start.html" class="sidebar-item" aria-label="快速入门"><!--[--><!--]--> 快速入门 <!--[--><!--]--></a><!----></li><li><a href="/doc/install-detail.html" class="sidebar-item" aria-label="Arthas Install"><!--[--><!--]--> Arthas Install <!--[--><!--]--></a><!----></li><li><a href="/doc/download.html" class="sidebar-item" aria-label="下载"><!--[--><!--]--> 下载 <!--[--><!--]--></a><!----></li><li><a href="/doc/advice-class.html" class="sidebar-item" aria-label="表达式核心变量"><!--[--><!--]--> 表达式核心变量 <!--[--><!--]--></a><!----></li><li><a href="/doc/commands.md" class="sidebar-item active collapsible" aria-label="命令列表"><!--[--><!--]--> 命令列表 <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a href="/doc/auth.html" class="sidebar-item" aria-label="auth"><!--[--><!--]--> auth <!--[--><!--]--></a><!----></li><li><a href="/doc/base64.html" class="sidebar-item" aria-label="base64"><!--[--><!--]--> base64 <!--[--><!--]--></a><!----></li><li><a href="/doc/cat.html" class="sidebar-item" aria-label="cat"><!--[--><!--]--> cat <!--[--><!--]--></a><!----></li><li><a href="/doc/classloader.html" class="sidebar-item" aria-label="classloader"><!--[--><!--]--> classloader <!--[--><!--]--></a><!----></li><li><a href="/doc/cls.html" class="sidebar-item" aria-label="cls"><!--[--><!--]--> cls <!--[--><!--]--></a><!----></li><li><a href="/doc/dashboard.html" class="sidebar-item" aria-label="dashboard"><!--[--><!--]--> dashboard <!--[--><!--]--></a><!----></li><li><a href="/doc/dump.html" class="sidebar-item" aria-label="dump"><!--[--><!--]--> dump <!--[--><!--]--></a><!----></li><li><a href="/doc/echo.html" class="sidebar-item" aria-label="echo"><!--[--><!--]--> echo <!--[--><!--]--></a><!----></li><li><a href="/doc/getstatic.html" class="sidebar-item" aria-label="getstatic"><!--[--><!--]--> getstatic <!--[--><!--]--></a><!----></li><li><a href="/doc/grep.html" class="sidebar-item" aria-label="grep"><!--[--><!--]--> grep <!--[--><!--]--></a><!----></li><li><a href="/doc/heapdump.html" class="sidebar-item" aria-label="heapdump"><!--[--><!--]--> heapdump <!--[--><!--]--></a><!----></li><li><a href="/doc/help.html" class="sidebar-item" aria-label="help"><!--[--><!--]--> help <!--[--><!--]--></a><!----></li><li><a href="/doc/history.html" class="sidebar-item" aria-label="history"><!--[--><!--]--> history <!--[--><!--]--></a><!----></li><li><a href="/doc/jad.html" class="sidebar-item" aria-label="jad"><!--[--><!--]--> jad <!--[--><!--]--></a><!----></li><li><a href="/doc/jfr.html" class="sidebar-item" aria-label="jfr"><!--[--><!--]--> jfr <!--[--><!--]--></a><!----></li><li><a href="/doc/jvm.html" class="sidebar-item" aria-label="jvm"><!--[--><!--]--> jvm <!--[--><!--]--></a><!----></li><li><a href="/doc/keymap.html" class="sidebar-item" aria-label="keymap"><!--[--><!--]--> keymap <!--[--><!--]--></a><!----></li><li><a href="/doc/logger.html" class="sidebar-item" aria-label="logger"><!--[--><!--]--> logger <!--[--><!--]--></a><!----></li><li><a href="/doc/mbean.html" class="sidebar-item" aria-label="mbean"><!--[--><!--]--> mbean <!--[--><!--]--></a><!----></li><li><a href="/doc/mc.html" class="sidebar-item" aria-label="mc"><!--[--><!--]--> mc <!--[--><!--]--></a><!----></li><li><a href="/doc/memory.html" class="sidebar-item" aria-label="memory"><!--[--><!--]--> memory <!--[--><!--]--></a><!----></li><li><a href="/doc/monitor.html" class="sidebar-item" aria-label="monitor"><!--[--><!--]--> monitor <!--[--><!--]--></a><!----></li><li><a href="/doc/ognl.html" class="sidebar-item" aria-label="ognl"><!--[--><!--]--> ognl <!--[--><!--]--></a><!----></li><li><a href="/doc/options.html" class="sidebar-item" aria-label="options"><!--[--><!--]--> options <!--[--><!--]--></a><!----></li><li><a href="/doc/perfcounter.html" class="sidebar-item" aria-label="perfcounter"><!--[--><!--]--> perfcounter <!--[--><!--]--></a><!----></li><li><a href="/doc/profiler.html" class="sidebar-item" aria-label="profiler"><!--[--><!--]--> profiler <!--[--><!--]--></a><!----></li><li><a href="/doc/pwd.html" class="sidebar-item" aria-label="pwd"><!--[--><!--]--> pwd <!--[--><!--]--></a><!----></li><li><a href="/doc/quit.html" class="sidebar-item" aria-label="quit"><!--[--><!--]--> quit <!--[--><!--]--></a><!----></li><li><a href="/doc/redefine.html" class="sidebar-item" aria-label="redefine"><!--[--><!--]--> redefine <!--[--><!--]--></a><!----></li><li><a href="/doc/reset.html" class="sidebar-item" aria-label="reset"><!--[--><!--]--> reset <!--[--><!--]--></a><!----></li><li><a href="/doc/retransform.html" class="sidebar-item" aria-label="retransform"><!--[--><!--]--> retransform <!--[--><!--]--></a><!----></li><li><a href="/doc/sc.html" class="sidebar-item" aria-label="sc"><!--[--><!--]--> sc <!--[--><!--]--></a><!----></li><li><a href="/doc/session.html" class="sidebar-item" aria-label="session"><!--[--><!--]--> session <!--[--><!--]--></a><!----></li><li><a href="/doc/sm.html" class="sidebar-item" aria-label="sm"><!--[--><!--]--> sm <!--[--><!--]--></a><!----></li><li><a href="/doc/stack.html" class="sidebar-item" aria-label="stack"><!--[--><!--]--> stack <!--[--><!--]--></a><!----></li><li><a href="/doc/stop.html" class="sidebar-item" aria-label="stop"><!--[--><!--]--> stop <!--[--><!--]--></a><!----></li><li><a href="/doc/sysenv.html" class="sidebar-item" aria-label="sysenv"><!--[--><!--]--> sysenv <!--[--><!--]--></a><!----></li><li><a href="/doc/sysprop.html" class="sidebar-item" aria-label="sysprop"><!--[--><!--]--> sysprop <!--[--><!--]--></a><!----></li><li><a href="/doc/tee.html" class="sidebar-item" aria-label="tee"><!--[--><!--]--> tee <!--[--><!--]--></a><!----></li><li><a href="/doc/thread.html" class="sidebar-item" aria-label="thread"><!--[--><!--]--> thread <!--[--><!--]--></a><!----></li><li><a href="/doc/trace.html" class="sidebar-item" aria-label="trace"><!--[--><!--]--> trace <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/doc/tt.html" class="router-link-active router-link-exact-active router-link-active sidebar-item active" aria-label="tt"><!--[--><!--]--> tt <!--[--><!--]--></a><!----></li><li><a href="/doc/version.html" class="sidebar-item" aria-label="version"><!--[--><!--]--> version <!--[--><!--]--></a><!----></li><li><a href="/doc/vmoption.html" class="sidebar-item" aria-label="vmoption"><!--[--><!--]--> vmoption <!--[--><!--]--></a><!----></li><li><a href="/doc/vmtool.html" class="sidebar-item" aria-label="vmtool"><!--[--><!--]--> vmtool <!--[--><!--]--></a><!----></li><li><a href="/doc/watch.html" class="sidebar-item" aria-label="watch"><!--[--><!--]--> watch <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a href="/doc/advanced-use.md" class="sidebar-item collapsible" aria-label="其他特性"><!--[--><!--]--> 其他特性 <!--[--><!--]--></a><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a href="/doc/async.html" class="sidebar-item" aria-label="Arthas 后台异步任务"><!--[--><!--]--> Arthas 后台异步任务 <!--[--><!--]--></a><!----></li><li><a href="/doc/save-log.html" class="sidebar-item" aria-label="执行结果存日志"><!--[--><!--]--> 执行结果存日志 <!--[--><!--]--></a><!----></li><li><a href="/doc/docker.html" class="sidebar-item" aria-label="Docker"><!--[--><!--]--> Docker <!--[--><!--]--></a><!----></li><li><a href="/doc/web-console.html" class="sidebar-item" aria-label="Web Console"><!--[--><!--]--> Web Console <!--[--><!--]--></a><!----></li><li><a href="/doc/tunnel.html" class="sidebar-item" aria-label="Arthas Tunnel"><!--[--><!--]--> Arthas Tunnel <!--[--><!--]--></a><!----></li><li><a href="/doc/idea-plugin.html" class="sidebar-item" aria-label="IDEA Plugin"><!--[--><!--]--> IDEA Plugin <!--[--><!--]--></a><!----></li><li><a href="/doc/arthas-properties.html" class="sidebar-item" aria-label="Arthas Properties"><!--[--><!--]--> Arthas Properties <!--[--><!--]--></a><!----></li><li><a href="/doc/agent.html" class="sidebar-item" aria-label="以 Java Agent 的方式启动"><!--[--><!--]--> 以 Java Agent 的方式启动 <!--[--><!--]--></a><!----></li><li><a href="/doc/spring-boot-starter.html" class="sidebar-item" aria-label="Arthas Spring Boot Starter"><!--[--><!--]--> Arthas Spring Boot Starter <!--[--><!--]--></a><!----></li><li><a href="/doc/http-api.html" class="sidebar-item" aria-label="Http API"><!--[--><!--]--> Http API <!--[--><!--]--></a><!----></li><li><a href="/doc/batch-support.html" class="sidebar-item" aria-label="批处理功能"><!--[--><!--]--> 批处理功能 <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a href="/doc/faq.html" class="sidebar-item" aria-label="FAQ"><!--[--><!--]--> FAQ <!--[--><!--]--></a><!----></li><li><p tabindex="0" class="sidebar-item collapsible">专家答疑 <span class="right arrow"></span></p><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a href="/doc/expert/intro.html" class="sidebar-item" aria-label="无疑 专家智能答疑 介绍"><!--[--><!--]--> 无疑 专家智能答疑 介绍 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11466.html" class="sidebar-item" aria-label="arthas 有没有在线教程?"><!--[--><!--]--> arthas 有没有在线教程? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12454.html" class="sidebar-item" aria-label="arthas 怎么查看内存情况?"><!--[--><!--]--> arthas 怎么查看内存情况? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13507.html" class="sidebar-item" aria-label="arthas查看内存占用大的地方"><!--[--><!--]--> arthas查看内存占用大的地方 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history14832.html" class="sidebar-item" aria-label="arthas启动时内存溢出"><!--[--><!--]--> arthas启动时内存溢出 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15730.html" class="sidebar-item" aria-label="arthas 观察方法中的某个变量的值"><!--[--><!--]--> arthas 观察方法中的某个变量的值 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11440.html" class="sidebar-item" aria-label="arthas 怎么使用?"><!--[--><!--]--> arthas 怎么使用? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11467.html" class="sidebar-item" aria-label="arthas 在线教程在哪?"><!--[--><!--]--> arthas 在线教程在哪? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12455.html" class="sidebar-item" aria-label="arthas 排查内存泄露的具体方法"><!--[--><!--]--> arthas 排查内存泄露的具体方法 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13508.html" class="sidebar-item" aria-label="arthas 如何查看内存使用情况"><!--[--><!--]--> arthas 如何查看内存使用情况 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history14833.html" class="sidebar-item" aria-label="Start arthas failed, exception stack trace:com.sun.tools.attach"><!--[--><!--]--> Start arthas failed, exception stack trace:com.sun.tools.attach <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15731.html" class="sidebar-item" aria-label="arthas 过滤方法的阐述"><!--[--><!--]--> arthas 过滤方法的阐述 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11442.html" class="sidebar-item" aria-label="arthas 介绍一下"><!--[--><!--]--> arthas 介绍一下 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11468.html" class="sidebar-item" aria-label="arthas 怎么使用?"><!--[--><!--]--> arthas 怎么使用? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12706.html" class="sidebar-item" aria-label="arthas 火焰图 怎么看?"><!--[--><!--]--> arthas 火焰图 怎么看? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13509.html" class="sidebar-item" aria-label="通过arthas怎样排查项目中,哪个对象泄露了,或者占用内存太大"><!--[--><!--]--> 通过arthas怎样排查项目中,哪个对象泄露了,或者占用内存太大 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history14834.html" class="sidebar-item" aria-label="使用arthas 跟踪进程服务后,进程所占用的文件描述符陡增,且文件描述符不下降"><!--[--><!--]--> 使用arthas 跟踪进程服务后,进程所占用的文件描述符陡增,且文件描述符不下降 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15735.html" class="sidebar-item" aria-label="arthas报错connect to telnet server error: 127.0.0.1 9999"><!--[--><!--]--> arthas报错connect to telnet server error: 127.0.0.1 9999 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11443.html" class="sidebar-item" aria-label="arthas 下载和安装"><!--[--><!--]--> arthas 下载和安装 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11469.html" class="sidebar-item" aria-label="linux的arthas使用教程"><!--[--><!--]--> linux的arthas使用教程 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12715.html" class="sidebar-item" aria-label="java 如何用arthas 查看 内存 情况?"><!--[--><!--]--> java 如何用arthas 查看 内存 情况? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13510.html" class="sidebar-item" aria-label="查看实时jvm内存大小"><!--[--><!--]--> 查看实时jvm内存大小 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history14840.html" class="sidebar-item" aria-label="Unsupported class file major version 61 using arthas 3.6.3"><!--[--><!--]--> Unsupported class file major version 61 using arthas 3.6.3 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15736.html" class="sidebar-item" aria-label="arthas 中jad参数"><!--[--><!--]--> arthas 中jad参数 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11444.html" class="sidebar-item" aria-label="arthas 命令解释"><!--[--><!--]--> arthas 命令解释 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11784.html" class="sidebar-item" aria-label="arthas使用的各类方式有哪些?"><!--[--><!--]--> arthas使用的各类方式有哪些? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12716.html" class="sidebar-item" aria-label="arthas 怎么查看堆内存太高"><!--[--><!--]--> arthas 怎么查看堆内存太高 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13511.html" class="sidebar-item" aria-label="arthas方法运行后查看成员变量"><!--[--><!--]--> arthas方法运行后查看成员变量 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history14843.html" class="sidebar-item" aria-label="arthas 支持jdk 20么?"><!--[--><!--]--> arthas 支持jdk 20么? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15737.html" class="sidebar-item" aria-label="进程停了 arthas也会同步停止么?"><!--[--><!--]--> 进程停了 arthas也会同步停止么? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11450.html" class="sidebar-item" aria-label="arthas 分析thread线程卡住"><!--[--><!--]--> arthas 分析thread线程卡住 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11795.html" class="sidebar-item" aria-label="使用arthas查看成员变量值具体怎么做?"><!--[--><!--]--> 使用arthas查看成员变量值具体怎么做? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12740.html" class="sidebar-item" aria-label="arthas怎么分析cpu很高"><!--[--><!--]--> arthas怎么分析cpu很高 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13512.html" class="sidebar-item" aria-label="如何查看java内存增长哪些对象"><!--[--><!--]--> 如何查看java内存增长哪些对象 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15167.html" class="sidebar-item" aria-label="介绍一下arthas"><!--[--><!--]--> 介绍一下arthas <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15738.html" class="sidebar-item" aria-label="arthas如何查看hashmap的值"><!--[--><!--]--> arthas如何查看hashmap的值 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11451.html" class="sidebar-item" aria-label="arthas 怎么排查cpu占用过高?"><!--[--><!--]--> arthas 怎么排查cpu占用过高? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11809.html" class="sidebar-item" aria-label="linux下的arthas 具体怎么用?(使用教程)"><!--[--><!--]--> linux下的arthas 具体怎么用?(使用教程) <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12741.html" class="sidebar-item" aria-label="如何使用arthas查看系统哪个地方内存占用过大"><!--[--><!--]--> 如何使用arthas查看系统哪个地方内存占用过大 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13513.html" class="sidebar-item" aria-label="arthas 监听成员变量值的方法是什么?"><!--[--><!--]--> arthas 监听成员变量值的方法是什么? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15543.html" class="sidebar-item" aria-label="arthas中tt命令如何查看方法入参的具体命令"><!--[--><!--]--> arthas中tt命令如何查看方法入参的具体命令 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15739.html" class="sidebar-item" aria-label="arthas可以监听私有方法吗"><!--[--><!--]--> arthas可以监听私有方法吗 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11452.html" class="sidebar-item" aria-label="arthas 查看方法耗时"><!--[--><!--]--> arthas 查看方法耗时 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11810.html" class="sidebar-item" aria-label="arthas查看方法耗时"><!--[--><!--]--> arthas查看方法耗时 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13448.html" class="sidebar-item" aria-label="如何使用arthas分析慢查询"><!--[--><!--]--> 如何使用arthas分析慢查询 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13522.html" class="sidebar-item" aria-label="Connect to telnet server error: 127.0.0.1 3658"><!--[--><!--]--> Connect to telnet server error: 127.0.0.1 3658 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15726.html" class="sidebar-item" aria-label="arthas 如何查询static变量"><!--[--><!--]--> arthas 如何查询static变量 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15740.html" class="sidebar-item" aria-label="arthas 分析内存升高的方法"><!--[--><!--]--> arthas 分析内存升高的方法 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11453.html" class="sidebar-item" aria-label="arthas 怎样查看方法耗时"><!--[--><!--]--> arthas 怎样查看方法耗时 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11814.html" class="sidebar-item" aria-label="arthas 怎么排查内存泄漏"><!--[--><!--]--> arthas 怎么排查内存泄漏 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13504.html" class="sidebar-item" aria-label="如何查看实时jvm内存大小占用"><!--[--><!--]--> 如何查看实时jvm内存大小占用 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history14763.html" class="sidebar-item" aria-label="利用Arthas排查NoSuchMethodError"><!--[--><!--]--> 利用Arthas排查NoSuchMethodError <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15728.html" class="sidebar-item" aria-label="arthas 获取成员变量"><!--[--><!--]--> arthas 获取成员变量 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11454.html" class="sidebar-item" aria-label="arthas 常用命令介绍"><!--[--><!--]--> arthas 常用命令介绍 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12453.html" class="sidebar-item" aria-label="arthas 怎么查看内存情况?"><!--[--><!--]--> arthas 怎么查看内存情况? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13506.html" class="sidebar-item" aria-label="如何查看java内存增长哪些对象"><!--[--><!--]--> 如何查看java内存增长哪些对象 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history14831.html" class="sidebar-item" aria-label="Dashboard 命令cpuUsage长期在90%左右"><!--[--><!--]--> Dashboard 命令cpuUsage长期在90%左右 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15729.html" class="sidebar-item" aria-label="arthas 怎么查看变量内容"><!--[--><!--]--> arthas 怎么查看变量内容 <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas/issues?q=label%3Auser-case" rel="noopener noreferrer" target="_blank" aria-label="用户案例"><!--[--><!--]--><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><!----></li><li><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas" rel="noopener noreferrer" target="_blank" aria-label="Star me at github"><!--[--><!--]--><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><!----></li><li><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas/blob/master/CONTRIBUTING.md" rel="noopener noreferrer" target="_blank" aria-label="编译调试/参与贡献"><!--[--><!--]--><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><!----></li><li><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas/releases" rel="noopener noreferrer" target="_blank" aria-label="Release Notes"><!--[--><!--]--><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><!----></li><li><a href="/doc/contact-us.md" class="sidebar-item" aria-label="QQ 群/钉钉群"><!--[--><!--]--> QQ 群/钉钉群 <!--[--><!--]--></a><!----></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="tt" tabindex="-1"><a class="header-anchor" href="#tt" aria-hidden="true">#</a> tt</h1><p><a href="https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-tt" target="_blank" rel="noopener noreferrer"><code>tt</code>在线教程<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><div class="custom-container tip"><p class="custom-container-title">提示</p><p>方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测</p></div><p><code>watch</code> 虽然很方便和灵活,但需要提前想清楚观察表达式的拼写,这对排查问题而言要求太高,因为很多时候我们并不清楚问题出自于何方,只能靠蛛丝马迹进行猜测。</p><p>这个时候如果能记录下当时方法调用的所有入参和返回值、抛出的异常会对整个问题的思考与判断非常有帮助。</p><p>于是乎,TimeTunnel 命令就诞生了。</p><h2 id="注意事项" tabindex="-1"><a class="header-anchor" href="#注意事项" aria-hidden="true">#</a> 注意事项</h2><ul><li>tt 命令的实现是:把函数的入参/返回值等,保存到一个<code>Map<Integer, TimeFragment></code>里,默认的大小是 100。</li><li>tt 相关功能在使用完之后,需要手动释放内存,否则长时间可能导致OOM。退出 arthas 不会自动清除 tt 的缓存 map。</li></ul><h2 id="使用参考" tabindex="-1"><a class="header-anchor" href="#使用参考" aria-hidden="true">#</a> 使用参考</h2><h3 id="启动-demo" tabindex="-1"><a class="header-anchor" href="#启动-demo" aria-hidden="true">#</a> 启动 Demo</h3><p>启动<a href="/doc/quick-start.html" class="">快速入门</a>里的<code>math-game</code>。</p><h3 id="记录调用" tabindex="-1"><a class="header-anchor" href="#记录调用" aria-hidden="true">#</a> 记录调用</h3><p>对于一个最基本的使用来说,就是记录下当前方法的每次调用环境现场。</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ tt <span class="token parameter variable">-t</span> demo.MathGame primeFactors
|
|
|
Press Ctrl+C to abort.
|
|
|
Affect<span class="token punctuation">(</span>class-cnt:1 , method-cnt:1<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">66</span> ms.
|
|
|
INDEX TIMESTAMP COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> IS-RET IS-EXP OBJECT CLASS METHOD
|
|
|
-------------------------------------------------------------------------------------------------------------------------------------
|
|
|
<span class="token number">1000</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:38 <span class="token number">1.096236</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
|
|
|
<span class="token number">1001</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:39 <span class="token number">0.191848</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
|
|
|
<span class="token number">1002</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:40 <span class="token number">0.069523</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
|
|
|
<span class="token number">1003</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:41 <span class="token number">0.186073</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
|
|
|
<span class="token number">1004</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:42 <span class="token number">17.76437</span> <span class="token boolean">true</span> <span class="token boolean">false</span> 0x4b67cf4d MathGame primeFactors
|
|
|
</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></div><h3 id="指定-class-最大匹配数量" tabindex="-1"><a class="header-anchor" href="#指定-class-最大匹配数量" aria-hidden="true">#</a> 指定 Class 最大匹配数量</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ tt <span class="token parameter variable">-t</span> <span class="token parameter variable">-m</span> <span class="token number">1</span> demo.MathGame primeFactors
|
|
|
Press Q or Ctrl+C to abort.
|
|
|
Affect<span class="token punctuation">(</span>class count:1 , method count:1<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">130</span> ms, listenerId: <span class="token number">1</span>.
|
|
|
INDEX TIMESTAMP COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> IS-RET IS-EXP OBJECT CLASS METHOD
|
|
|
-------------------------------------------------------------------------------------------------------------------------------------
|
|
|
<span class="token number">1000</span> <span class="token number">2022</span>-12-25 <span class="token number">19</span>:41:45 <span class="token number">2.629929</span> <span class="token boolean">true</span> <span class="token boolean">false</span> 0x3bf400 MathGame primeFactors
|
|
|
<span class="token number">1001</span> <span class="token number">2022</span>-12-25 <span class="token number">19</span>:41:55 <span class="token number">0.146161</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x3bf400 MathGame primeFactors
|
|
|
</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></div><ul><li><p>命令参数解析</p><ul><li><p><code>-t</code></p><p>tt 命令有很多个主参数,<code>-t</code> 就是其中之一。这个参数的表明希望记录下类 <code>*Test</code> 的 <code>print</code> 方法的每次执行情况。</p></li><li><p><code>-n 3</code></p><p>当你执行一个调用量不高的方法时可能你还能有足够的时间用 <code>CTRL+C</code> 中断 tt 命令记录的过程,但如果遇到调用量非常大的方法,瞬间就能将你的 JVM 内存撑爆。</p><p>此时你可以通过 <code>-n</code> 参数指定你需要记录的次数,当达到记录次数时 Arthas 会主动中断 tt 命令的记录过程,避免人工操作无法停止的情况。</p></li><li><p><code>-m 1</code></p><p>通过 <code>-m</code> 参数指定 Class 匹配的最大数量,防止匹配到的 Class 数量太多导致 JVM 挂起,默认值是 50。</p></li></ul></li><li><p>表格字段说明</p></li></ul><table><thead><tr><th>表格字段</th><th>字段解释</th></tr></thead><tbody><tr><td>INDEX</td><td>时间片段记录编号,每一个编号代表着一次调用,后续 tt 还有很多命令都是基于此编号指定记录操作,非常重要。</td></tr><tr><td>TIMESTAMP</td><td>方法执行的本机时间,记录了这个时间片段所发生的本机时间</td></tr><tr><td>COST(ms)</td><td>方法执行的耗时</td></tr><tr><td>IS-RET</td><td>方法是否以正常返回的形式结束</td></tr><tr><td>IS-EXP</td><td>方法是否以抛异常的形式结束</td></tr><tr><td>OBJECT</td><td>执行对象的<code>hashCode()</code>,注意,曾经有人误认为是对象在 JVM 中的内存地址,但很遗憾他不是。但他能帮助你简单的标记当前执行方法的类实体</td></tr><tr><td>CLASS</td><td>执行的类名</td></tr><tr><td>METHOD</td><td>执行的方法名</td></tr></tbody></table><ul><li><p>条件表达式</p><p>不知道大家是否有在使用过程中遇到以下困惑</p><ul><li>Arthas 似乎很难区分出重载的方法</li><li>我只需要观察特定参数,但是 tt 却全部都给我记录了下来</li></ul><p>条件表达式也是用 <code>OGNL</code> 来编写,核心的判断对象依然是 <code>Advice</code> 对象。除了 <code>tt</code> 命令之外,<code>watch</code>、<code>trace</code>、<code>stack</code> 命令也都支持条件表达式。</p></li><li><p>解决方法重载</p><p><code>tt -t *Test print params.length==1</code></p><p>通过制定参数个数的形式解决不同的方法签名,如果参数个数一样,你还可以这样写</p><p><code>tt -t *Test print 'params[1] instanceof Integer'</code></p></li><li><p>解决指定参数</p><p><code>tt -t *Test print params[0].mobile=="13989838402"</code></p></li><li><p>构成条件表达式的 <code>Advice</code> 对象</p><p>前边看到了很多条件表达式中,都使用了 <code>params[0]</code>,有关这个变量的介绍,请参考<a href="/doc/advice-class.html" class="">表达式核心变量</a></p></li></ul><h3 id="检索调用记录" tabindex="-1"><a class="header-anchor" href="#检索调用记录" aria-hidden="true">#</a> 检索调用记录</h3><p>当你用 <code>tt</code> 记录了一大片的时间片段之后,你希望能从中筛选出自己需要的时间片段,这个时候你就需要对现有记录进行检索。</p><p>假设我们有这些记录</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ tt <span class="token parameter variable">-l</span>
|
|
|
INDEX TIMESTAMP COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> IS-RET IS-EXP OBJECT CLASS METHOD
|
|
|
-------------------------------------------------------------------------------------------------------------------------------------
|
|
|
<span class="token number">1000</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:38 <span class="token number">1.096236</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
|
|
|
<span class="token number">1001</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:39 <span class="token number">0.191848</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
|
|
|
<span class="token number">1002</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:40 <span class="token number">0.069523</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
|
|
|
<span class="token number">1003</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:41 <span class="token number">0.186073</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
|
|
|
<span class="token number">1004</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:42 <span class="token number">17.76437</span> <span class="token boolean">true</span> <span class="token boolean">false</span> 0x4b67cf4d MathGame primeFactors
|
|
|
<span class="token number">9</span>
|
|
|
<span class="token number">1005</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:43 <span class="token number">0.4776</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
|
|
|
Affect<span class="token punctuation">(</span>row-cnt:6<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">4</span> ms.
|
|
|
</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></div><p>我需要筛选出 <code>primeFactors</code> 方法的调用信息</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ tt <span class="token parameter variable">-s</span> <span class="token string">'method.name=="primeFactors"'</span>
|
|
|
INDEX TIMESTAMP COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> IS-RET IS-EXP OBJECT CLASS METHOD
|
|
|
-------------------------------------------------------------------------------------------------------------------------------------
|
|
|
<span class="token number">1000</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:38 <span class="token number">1.096236</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
|
|
|
<span class="token number">1001</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:39 <span class="token number">0.191848</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
|
|
|
<span class="token number">1002</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:40 <span class="token number">0.069523</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
|
|
|
<span class="token number">1003</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:41 <span class="token number">0.186073</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
|
|
|
<span class="token number">1004</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:42 <span class="token number">17.76437</span> <span class="token boolean">true</span> <span class="token boolean">false</span> 0x4b67cf4d MathGame primeFactors
|
|
|
<span class="token number">9</span>
|
|
|
<span class="token number">1005</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:43 <span class="token number">0.4776</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
|
|
|
Affect<span class="token punctuation">(</span>row-cnt:6<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">607</span> ms.
|
|
|
</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></div><p>你需要一个 <code>-s</code> 参数。<span style="color:red;">同样的,搜索表达式的核心对象依旧是 <code>Advice</code> 对象。</span></p><h3 id="查看调用信息" tabindex="-1"><a class="header-anchor" href="#查看调用信息" aria-hidden="true">#</a> 查看调用信息</h3><p>对于具体一个时间片的信息而言,你可以通过 <code>-i</code> 参数后边跟着对应的 <code>INDEX</code> 编号查看到他的详细信息。</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ tt <span class="token parameter variable">-i</span> <span class="token number">1003</span>
|
|
|
INDEX <span class="token number">1003</span>
|
|
|
GMT-CREATE <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:41
|
|
|
COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> <span class="token number">0.186073</span>
|
|
|
OBJECT 0x4b67cf4d
|
|
|
CLASS demo.MathGame
|
|
|
METHOD primeFactors
|
|
|
IS-RETURN <span class="token boolean">false</span>
|
|
|
IS-EXCEPTION <span class="token boolean">true</span>
|
|
|
PARAMETERS<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> @Integer<span class="token punctuation">[</span>-564322413<span class="token punctuation">]</span>
|
|
|
THROW-EXCEPTION java.lang.IllegalArgumentException: number is: -564322413, need <span class="token operator">>=</span> <span class="token number">2</span>
|
|
|
at demo.MathGame.primeFactors<span class="token punctuation">(</span>MathGame.java:46<span class="token punctuation">)</span>
|
|
|
at demo.MathGame.run<span class="token punctuation">(</span>MathGame.java:24<span class="token punctuation">)</span>
|
|
|
at demo.MathGame.main<span class="token punctuation">(</span>MathGame.java:16<span class="token punctuation">)</span>
|
|
|
|
|
|
Affect<span class="token punctuation">(</span>row-cnt:1<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">11</span> ms.
|
|
|
</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></div><h3 id="重做一次调用" tabindex="-1"><a class="header-anchor" href="#重做一次调用" aria-hidden="true">#</a> 重做一次调用</h3><p>当你稍稍做了一些调整之后,你可能需要前端系统重新触发一次你的调用,此时得求爷爷告奶奶的需要前端配合联调的同学再次发起一次调用。而有些场景下,这个调用不是这么好触发的。</p><p><code>tt</code> 命令由于保存了当时调用的所有现场信息,所以我们可以自己主动对一个 <code>INDEX</code> 编号的时间片自主发起一次调用,从而解放你的沟通成本。此时你需要 <code>-p</code> 参数。通过 <code>--replay-times</code> 指定 调用次数,通过 <code>--replay-interval</code> 指定多次调用间隔(单位 ms, 默认 1000ms)</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ tt <span class="token parameter variable">-i</span> <span class="token number">1004</span> <span class="token parameter variable">-p</span>
|
|
|
RE-INDEX <span class="token number">1004</span>
|
|
|
GMT-REPLAY <span class="token number">2018</span>-12-04 <span class="token number">11</span>:26:00
|
|
|
OBJECT 0x4b67cf4d
|
|
|
CLASS demo.MathGame
|
|
|
METHOD primeFactors
|
|
|
PARAMETERS<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> @Integer<span class="token punctuation">[</span><span class="token number">946738738</span><span class="token punctuation">]</span>
|
|
|
IS-RETURN <span class="token boolean">true</span>
|
|
|
IS-EXCEPTION <span class="token boolean">false</span>
|
|
|
COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> <span class="token number">0.186073</span>
|
|
|
RETURN-OBJ @ArrayList<span class="token punctuation">[</span>
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>,
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">11</span><span class="token punctuation">]</span>,
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">17</span><span class="token punctuation">]</span>,
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">2531387</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>
|
|
|
Time fragment<span class="token punctuation">[</span><span class="token number">1004</span><span class="token punctuation">]</span> successfully replayed.
|
|
|
Affect<span class="token punctuation">(</span>row-cnt:1<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">14</span> ms.
|
|
|
</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></div><p>你会发现结果虽然一样,但调用的路径发生了变化,由原来的程序发起变成了 Arthas 自己的内部线程发起的调用了。</p><h3 id="观察表达式" tabindex="-1"><a class="header-anchor" href="#观察表达式" aria-hidden="true">#</a> 观察表达式</h3><p><code>-w, --watch-express</code> 观察时空隧道使用<code>ognl</code> 表达式</p><ul><li>使用<a href="/doc/advice-class.html" class="">表达式核心变量</a>中所有变量作为已知条件编写表达式。</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token punctuation">[</span>arthas@10718<span class="token punctuation">]</span>$ tt <span class="token parameter variable">-t</span> demo.MathGame run <span class="token parameter variable">-n</span> <span class="token number">5</span>
|
|
|
Press Q or Ctrl+C to abort.
|
|
|
Affect<span class="token punctuation">(</span>class count: <span class="token number">1</span> , method count: <span class="token number">1</span><span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">56</span> ms, listenerId: <span class="token number">1</span>
|
|
|
INDEX TIMESTAMP COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> IS-RET IS-EXP OBJECT CLASS METHOD
|
|
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
<span class="token number">1000</span> <span class="token number">2021</span>-01-08 <span class="token number">21</span>:54:17 <span class="token number">0.901091</span> <span class="token boolean">true</span> <span class="token boolean">false</span> 0x7699a589 MathGame run
|
|
|
<span class="token punctuation">[</span>arthas@10718<span class="token punctuation">]</span>$ tt <span class="token parameter variable">-w</span> <span class="token string">'target.illegalArgumentCount'</span> <span class="token parameter variable">-x</span> <span class="token number">1</span> <span class="token parameter variable">-i</span> <span class="token number">1000</span>
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">60</span><span class="token punctuation">]</span>
|
|
|
Affect<span class="token punctuation">(</span>row-cnt:1<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">7</span> ms.
|
|
|
</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></div><ul><li>获取类的静态字段、调用类的静态方法</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token punctuation">[</span>arthas@10718<span class="token punctuation">]</span>$ tt <span class="token parameter variable">-t</span> demo.MathGame run <span class="token parameter variable">-n</span> <span class="token number">5</span>
|
|
|
Press Q or Ctrl+C to abort.
|
|
|
Affect<span class="token punctuation">(</span>class count: <span class="token number">1</span> , method count: <span class="token number">1</span><span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">56</span> ms, listenerId: <span class="token number">1</span>
|
|
|
INDEX TIMESTAMP COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> IS-RET IS-EXP OBJECT CLASS METHOD
|
|
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
<span class="token number">1000</span> <span class="token number">2021</span>-01-08 <span class="token number">21</span>:54:17 <span class="token number">0.901091</span> <span class="token boolean">true</span> <span class="token boolean">false</span> 0x7699a589 MathGame run
|
|
|
<span class="token punctuation">[</span>arthas@10718<span class="token punctuation">]</span>$ tt <span class="token parameter variable">-w</span> <span class="token string">'@demo.MathGame@random.nextInt(100)'</span> <span class="token parameter variable">-x</span> <span class="token number">1</span> <span class="token parameter variable">-i</span> <span class="token number">1000</span>
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">46</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></div><p>注意这里使用 <code>com.taobao.arthas.core.advisor.Advice#getLoader</code>加载,使用精确<code>classloader</code> <a href="/doc/ognl.html" class="">ognl</a>更好。</p><p>高级用法 <a href="https://github.com/alibaba/arthas/issues/482" target="_blank" rel="noopener noreferrer">获取 spring context 调用 bean 方法<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><ul><li><p>需要强调的点</p><ol><li><p><strong>ThreadLocal 信息丢失</strong></p><p>很多框架偷偷的将一些环境变量信息塞到了发起调用线程的 ThreadLocal 中,由于调用线程发生了变化,这些 ThreadLocal 线程信息无法通过 Arthas 保存,所以这些信息将会丢失。</p><p>一些常见的 CASE 比如:鹰眼的 TraceId 等。</p></li><li><p><strong>引用的对象</strong></p><p>需要强调的是,<code>tt</code> 命令是将当前环境的对象引用保存起来,但仅仅也只能保存一个引用而已。如果方法内部对入参进行了变更,或者返回的对象经过了后续的处理,那么在 <code>tt</code> 查看的时候将无法看到当时最准确的值。这也是为什么 <code>watch</code> 命令存在的意义。</p></li></ol></li></ul><h3 id="通过索引删除指定的-tt-记录" tabindex="-1"><a class="header-anchor" href="#通过索引删除指定的-tt-记录" aria-hidden="true">#</a> 通过索引删除指定的 tt 记录</h3><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>tt -d 1001
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="清除所有的-tt-记录" tabindex="-1"><a class="header-anchor" href="#清除所有的-tt-记录" aria-hidden="true">#</a> 清除所有的 tt 记录</h3><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>tt --delete-all
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></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/tt.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 class="contributor" title="email: hengyunabc@users.noreply.github.com">hengyunabc</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: superheizai@aliyun.com">superheizai</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: i@fatpandac.com">Fatpandac</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: 35672972+pandaapo@users.noreply.github.com">pandaapo</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: hollowman186@vip.qq.com">Hollow Man</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: xiangmz0928@gmail.com">Xiangmingzhe</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: snipercy@users.noreply.github.com">vic</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: 983433479@qq.com">汪吉</span><!----><!--]--><!--]--></span></div></footer><nav class="page-nav right-menu-padding" data-v-fdd717e0><p class="inner"><span class="prev"><a href="/doc/trace.html" class="" aria-label="trace"><!--[--><!--]--> trace <!--[--><!--]--></a></span><span class="next"><a href="/doc/version.html" class="" aria-label="version"><!--[--><!--]--> version <!--[--><!--]--></a></span></p></nav><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
|
|
|
<script type="module" src="/assets/app.5e87b7e3.js" defer></script>
|
|
|
</body>
|
|
|
</html>
|