You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
arthas/doc/profiler.html

121 lines
102 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!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>profiler | arthas</title><meta name="description" content="arthas 使用文档">
<link rel="modulepreload" href="/assets/app.977e81c1.js"><link rel="modulepreload" href="/assets/profiler.html.cfdf06fc.js"><link rel="modulepreload" href="/assets/arthas-output-svg.30f64f53.js"><link rel="modulepreload" href="/assets/profiler.html.0af96094.js"><link rel="prefetch" href="/assets/index.html.9412a900.js"><link rel="prefetch" href="/assets/index.html.3c03373d.js"><link rel="prefetch" href="/assets/index.html.31581b5f.js"><link rel="prefetch" href="/assets/advanced-use.html.3876077d.js"><link rel="prefetch" href="/assets/advice-class.html.e0d4601b.js"><link rel="prefetch" href="/assets/agent.html.ea7c22e0.js"><link rel="prefetch" href="/assets/arthas-properties.html.4eb539b4.js"><link rel="prefetch" href="/assets/arthas3.html.bee7bffc.js"><link rel="prefetch" href="/assets/async.html.473d320c.js"><link rel="prefetch" href="/assets/auth.html.ac4b67f2.js"><link rel="prefetch" href="/assets/base64.html.4b181e89.js"><link rel="prefetch" href="/assets/batch-support.html.a26e2295.js"><link rel="prefetch" href="/assets/cat.html.c8fbb1c5.js"><link rel="prefetch" href="/assets/classloader.html.04ede152.js"><link rel="prefetch" href="/assets/cls.html.315127c2.js"><link rel="prefetch" href="/assets/commands.html.205fab1f.js"><link rel="prefetch" href="/assets/contact-us.html.259f35c3.js"><link rel="prefetch" href="/assets/dashboard.html.72692286.js"><link rel="prefetch" href="/assets/docker.html.37a9000f.js"><link rel="prefetch" href="/assets/download.html.e9e19894.js"><link rel="prefetch" href="/assets/dump.html.aac38ab5.js"><link rel="prefetch" href="/assets/echo.html.7dac4c37.js"><link rel="prefetch" href="/assets/faq.html.0788d4da.js"><link rel="prefetch" href="/assets/getstatic.html.2a0b4f73.js"><link rel="prefetch" href="/assets/grep.html.09b9f3d8.js"><link rel="prefetch" href="/assets/groovy.html.5effbaba.js"><link rel="prefetch" href="/assets/heapdump.html.a85cf9a1.js"><link rel="prefetch" href="/assets/help.html.e5f40d88.js"><link rel="prefetch" href="/assets/history.html.9c7d2f2e.js"><link rel="prefetch" href="/assets/http-api.html.693537fc.js"><link rel="prefetch" href="/assets/idea-plugin.html.0e7ca126.js"><link rel="prefetch" href="/assets/install-detail.html.2265e71c.js"><link rel="prefetch" href="/assets/jad.html.6682b060.js"><link rel="prefetch" href="/assets/jfr.html.4a6ffa9b.js"><link rel="prefetch" href="/assets/jvm.html.bf9d7353.js"><link rel="prefetch" href="/assets/keymap.html.4a935f93.js"><link rel="prefetch" href="/assets/logger.html.1626eaca.js"><link rel="prefetch" href="/assets/manual-install.html.7d61ca70.js"><link rel="prefetch" href="/assets/mbean.html.30acbef7.js"><link rel="prefetch" href="/assets/mc.html.2ccc704e.js"><link rel="prefetch" href="/assets/memory.html.354446c2.js"><link rel="prefetch" href="/assets/monitor.html.c7c0dac3.js"><link rel="prefetch" href="/assets/ognl.html.56febc20.js"><link rel="prefetch" href="/assets/options.html.f2203677.js"><link rel="prefetch" href="/assets/perfcounter.html.4783a666.js"><link rel="prefetch" href="/assets/pwd.html.bb923193.js"><link rel="prefetch" href="/assets/quick-start.html.3b81c79e.js"><link rel="prefetch" href="/assets/quit.html.bc71e5cc.js"><link rel="prefetch" href="/assets/redefine.html.c762575e.js"><link rel="prefetch" href="/assets/release-notes.html.fef92c13.js"><link rel="prefetch" href="/assets/reset.html.05dc82b5.js"><link rel="prefetch" href="/assets/retransform.html.21fa57be.js"><link rel="prefetch" href="/assets/save-log.html.8b792c19.js"><link rel="prefetch" href="/assets/sc.html.9e910d92.js"><link rel="prefetch" href="/assets/session.html.620f0ab0.js"><link rel="prefetch" href="/assets/sm.html.00c3d56b.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.07a5bd45.js"><link rel="prefetch" href="/assets/stack.html.17704cc3.js"><link rel="prefetch" href="/assets/start-arthas.html.f299d09e.js"><link rel="prefetch" href="/assets/stop.html.75db3522.js"><link rel="prefetch" href="/assets/sysenv.html.fcd3f33c.js"><link rel="prefetch" href="/assets/sysprop.html.f64847c1.js"><link rel="prefetch" href="/assets/tee.html.6c47fb2b.js"><link rel="prefetch" href="/assets/thread.html.222deb53.js"><link rel="prefetch" href="/assets/trace.html.f837a2ab.js"><link rel="prefetch" href="/assets/tt.html.a7531792.js"><link rel="prefetch" href="/assets/tunnel.html.cba00e0c.js"><link rel="prefetch" href="/assets/version.html.1f4f0bf6.js"><link rel="prefetch" href="/assets/vmoption.html.2a384e93.js"><link rel="prefetch" href="/assets/vmtool.html.b9760aa2.js"><link rel="prefetch" href="/assets/watch.html.8587d435.js"><link rel="prefetch" href="/assets/web-console.html.288b4929.js"><link rel="prefetch" href="/assets/index.html.ff1404b7.js"><link rel="prefetch" href="/assets/advanced-use.html.bb267793.js"><link rel="prefetch" href="/assets/advice-class.html.94b18967.js"><link rel="prefetch" href="/assets/agent.html.f70ec699.js"><link rel="prefetch" href="/assets/arthas-properties.html.7beccba1.js"><link rel="prefetch" href="/assets/async.html.4fa97ba6.js"><link rel="prefetch" href="/assets/auth.html.faba59b2.js"><link rel="prefetch" href="/assets/base64.html.f5d760ad.js"><link rel="prefetch" href="/assets/batch-support.html.f735e8b3.js"><link rel="prefetch" href="/assets/cat.html.61cfeeed.js"><link rel="prefetch" href="/assets/classloader.html.1a744f9d.js"><link rel="prefetch" href="/assets/cls.html.9582133b.js"><link rel="prefetch" href="/assets/commands.html.d485bb31.js"><link rel="prefetch" href="/assets/contact-us.html.cf7df316.js"><link rel="prefetch" href="/assets/dashboard.html.9adb43a6.js"><link rel="prefetch" href="/assets/docker.html.dcd7c4dc.js"><link rel="prefetch" href="/assets/download.html.293fd4d6.js"><link rel="prefetch" href="/assets/dump.html.db2e1d15.js"><link rel="prefetch" href="/assets/echo.html.bfe5b1ec.js"><link rel="prefetch" href="/assets/faq.html.eb9e34c2.js"><link rel="prefetch" href="/assets/getstatic.html.8413a0bf.js"><link rel="prefetch" href="/assets/grep.html.7d76329e.js"><link rel="prefetch" href="/assets/groovy.html.30d5ba53.js"><link rel="prefetch" href="/assets/heapdump.html.6bb17092.js"><link rel="prefetch" href="/assets/help.html.efd32fdc.js"><link rel="prefetch" href="/assets/history.html.df512aaf.js"><link rel="prefetch" href="/assets/http-api.html.1e0c4fe4.js"><link rel="prefetch" href="/assets/idea-plugin.html.88925ff1.js"><link rel="prefetch" href="/assets/install-detail.html.7256efcb.js"><link rel="prefetch" href="/assets/jad.html.00011a0c.js"><link rel="prefetch" href="/assets/jfr.html.79f874a0.js"><link rel="prefetch" href="/assets/jvm.html.6b3bf176.js"><link rel="prefetch" href="/assets/keymap.html.d625308a.js"><link rel="prefetch" href="/assets/logger.html.35648b6b.js"><link rel="prefetch" href="/assets/manual-install.html.fd88c8b7.js"><link rel="prefetch" href="/assets/mbean.html.392ceafa.js"><link rel="prefetch" href="/assets/mc.html.0af39dc5.js"><link rel="prefetch" href="/assets/memory.html.332c2c37.js"><link rel="prefetch" href="/assets/monitor.html.cd5568d1.js"><link rel="prefetch" href="/assets/ognl.html.82505296.js"><link rel="prefetch" href="/assets/options.html.07168402.js"><link rel="prefetch" href="/assets/perfcounter.html.c4732563.js"><link rel="prefetch" href="/assets/profiler.html.cb7e80ca.js"><link rel="prefetch" href="/assets/pwd.html.12016768.js"><link rel="prefetch" href="/assets/quick-start.html.4690bd9e.js"><link rel="prefetch" href="/assets/quit.html.c7fec324.js"><link rel="prefetch" href="/assets/redefine.html.2e436be1.js"><link rel="prefetch" href="/assets/release-notes.html.a5a31dff.js"><link rel="prefetch" href="/assets/reset.html.6e400246.js"><link rel="prefetch" href="/assets/retransform.html.5387fa9b.js"><link rel="prefetch" href="/assets/save-log.html.093b3bcd.js"><link rel="prefetch" href="/assets/sc.html.cc0b3807.js"><link rel="prefetch" href="/assets/session.html.d2bc15a6.js"><link rel="prefetch" href="/assets/sm.html.a9569eeb.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.ff12f0c1.js"><link rel="prefetch" href="/assets/stack.html.d7b82b5f.js"><link rel="prefetch" href="/assets/start-arthas.html.7adf3019.js"><link rel="prefetch" href="/assets/stop.html.770c7d0b.js"><link rel="prefetch" href="/assets/sysenv.html.c0682e8e.js"><link rel="prefetch" href="/assets/sysprop.html.05cb07d3.js"><link rel="prefetch" href="/assets/tee.html.235d5b7c.js"><link rel="prefetch" href="/assets/thread.html.91a56a2e.js"><link rel="prefetch" href="/assets/trace.html.1e385101.js"><link rel="prefetch" href="/assets/tt.html.dd804c2a.js"><link rel="prefetch" href="/assets/tunnel.html.d8272588.js"><link rel="prefetch" href="/assets/version.html.03456423.js"><link rel="prefetch" href="/assets/vmoption.html.333859d9.js"><link rel="prefetch" href="/assets/vmtool.html.6ffa578c.js"><link rel="prefetch" href="/assets/watch.html.49c58566.js"><link rel="prefetch" href="/assets/web-console.html.ad03b58b.js"><link rel="prefetch" href="/assets/intro.html.84f98ee4.js"><link rel="prefetch" href="/assets/user-question-history11440.html.945d2f9e.js"><link rel="prefetch" href="/assets/user-question-history11442.html.783bc8dc.js"><link rel="prefetch" href="/assets/user-question-history11443.html.d0a0a555.js"><link rel="prefetch" href="/assets/user-question-history11444.html.527dcabc.js"><link rel="prefetch" href="/assets/user-question-history11450.html.0b5859bb.js"><link rel="prefetch" href="/assets/user-question-history11451.html.7c8a6e22.js"><link rel="prefetch" href="/assets/user-question-history11452.html.a763d91d.js"><link rel="prefetch" href="/assets/user-question-history11453.html.5c967223.js"><link rel="prefetch" href="/assets/user-question-history11454.html.57a6549c.js"><link rel="prefetch" href="/assets/user-question-history11466.html.c0d693fe.js"><link rel="prefetch" href="/assets/user-question-history11467.html.625395e2.js"><link rel="prefetch" href="/assets/user-question-history11468.html.18c1233b.js"><link rel="prefetch" href="/assets/user-question-history11469.html.612d979c.js"><link rel="prefetch" href="/assets/user-question-history11784.html.f9437c23.js"><link rel="prefetch" href="/assets/user-question-history11795.html.bda07489.js"><link rel="prefetch" href="/assets/user-question-history11809.html.fe35e352.js"><link rel="prefetch" href="/assets/user-question-history11810.html.8374c3d6.js"><link rel="prefetch" href="/assets/user-question-history11814.html.d7769792.js"><link rel="prefetch" href="/assets/user-question-history12453.html.500b97bf.js"><link rel="prefetch" href="/assets/user-question-history12454.html.a008431b.js"><link rel="prefetch" href="/assets/user-question-history12455.html.ab02f527.js"><link rel="prefetch" href="/assets/user-question-history12706.html.5b3c7377.js"><link rel="prefetch" href="/assets/user-question-history12715.html.8003899b.js"><link rel="prefetch" href="/assets/user-question-history12716.html.ba178a77.js"><link rel="prefetch" href="/assets/user-question-history12740.html.42134d3d.js"><link rel="prefetch" href="/assets/user-question-history12741.html.458cbd4d.js"><link rel="prefetch" href="/assets/user-question-history13448.html.de3f47a3.js"><link rel="prefetch" href="/assets/user-question-history13504.html.4ef2df02.js"><link rel="prefetch" href="/assets/user-question-history13506.html.5d616bd0.js"><link rel="prefetch" href="/assets/user-question-history13507.html.b5f944e9.js"><link rel="prefetch" href="/assets/user-question-history13508.html.dc8e3c01.js"><link rel="prefetch" href="/assets/user-question-history13509.html.7caa5f1e.js"><link rel="prefetch" href="/assets/user-question-history13510.html.0c3bd94a.js"><link rel="prefetch" href="/assets/user-question-history13511.html.7f29583a.js"><link rel="prefetch" href="/assets/user-question-history13512.html.4c7642e0.js"><link rel="prefetch" href="/assets/user-question-history13513.html.82e1a86f.js"><link rel="prefetch" href="/assets/user-question-history13522.html.7a8c0ca3.js"><link rel="prefetch" href="/assets/user-question-history14763.html.6ac12d31.js"><link rel="prefetch" href="/assets/user-question-history14831.html.3f163d4d.js"><link rel="prefetch" href="/assets/user-question-history14832.html.42a4044b.js"><link rel="prefetch" href="/assets/user-question-history14833.html.8db4f27a.js"><link rel="prefetch" href="/assets/user-question-history14834.html.f77f6f47.js"><link rel="prefetch" href="/assets/user-question-history14840.html.a63b53e2.js"><link rel="prefetch" href="/assets/user-question-history14843.html.b9c5ba60.js"><link rel="prefetch" href="/assets/user-question-history15167.html.06ed0a3a.js"><link rel="prefetch" href="/assets/user-question-history15543.html.f75a7715.js"><link rel="prefetch" href="/assets/user-question-history15726.html.5f9e3ece.js"><link rel="prefetch" href="/assets/user-question-history15728.html.6ae4ac04.js"><link rel="prefetch" href="/assets/user-question-history15729.html.351db40d.js"><link rel="prefetch" href="/assets/user-question-history15730.html.41960780.js"><link rel="prefetch" href="/assets/user-question-history15731.html.d573fdf9.js"><link rel="prefetch" href="/assets/user-question-history15735.html.3bd2be36.js"><link rel="prefetch" href="/assets/user-question-history15736.html.d5153f23.js"><link rel="prefetch" href="/assets/user-question-history15737.html.c707eb2c.js"><link rel="prefetch" href="/assets/user-question-history15738.html.2e65b59a.js"><link rel="prefetch" href="/assets/user-question-history15739.html.0899467d.js"><link rel="prefetch" href="/assets/user-question-history15740.html.576c981e.js"><link rel="prefetch" href="/assets/404.html.0ebd2d1e.js"><link rel="prefetch" href="/assets/index.html.6f877a42.js"><link rel="prefetch" href="/assets/index.html.e1c35a2c.js"><link rel="prefetch" href="/assets/index.html.1e667cb0.js"><link rel="prefetch" href="/assets/advanced-use.html.617a179e.js"><link rel="prefetch" href="/assets/advice-class.html.3966bc34.js"><link rel="prefetch" href="/assets/agent.html.169afc92.js"><link rel="prefetch" href="/assets/arthas-properties.html.22c5538b.js"><link rel="prefetch" href="/assets/arthas3.html.bf9d08b9.js"><link rel="prefetch" href="/assets/async.html.c6c0d8af.js"><link rel="prefetch" href="/assets/auth.html.5c0bb925.js"><link rel="prefetch" href="/assets/base64.html.6622b909.js"><link rel="prefetch" href="/assets/batch-support.html.ed0e8e34.js"><link rel="prefetch" href="/assets/cat.html.c157828e.js"><link rel="prefetch" href="/assets/classloader.html.78e92958.js"><link rel="prefetch" href="/assets/cls.html.597fe850.js"><link rel="prefetch" href="/assets/commands.html.8ea8f1c9.js"><link rel="prefetch" href="/assets/contact-us.html.c7f20f05.js"><link rel="prefetch" href="/assets/dashboard.html.2d16a96f.js"><link rel="prefetch" href="/assets/docker.html.9db38ea9.js"><link rel="prefetch" href="/assets/download.html.95f65033.js"><link rel="prefetch" href="/assets/dump.html.684152e3.js"><link rel="prefetch" href="/assets/echo.html.d544d81a.js"><link rel="prefetch" href="/assets/faq.html.93006841.js"><link rel="prefetch" href="/assets/getstatic.html.4d5ade71.js"><link rel="prefetch" href="/assets/grep.html.b546f76a.js"><link rel="prefetch" href="/assets/groovy.html.952384a3.js"><link rel="prefetch" href="/assets/heapdump.html.df875ce1.js"><link rel="prefetch" href="/assets/help.html.7f7277a0.js"><link rel="prefetch" href="/assets/history.html.e386bef5.js"><link rel="prefetch" href="/assets/http-api.html.ff6573e2.js"><link rel="prefetch" href="/assets/idea-plugin.html.2c435bd6.js"><link rel="prefetch" href="/assets/install-detail.html.58bf7631.js"><link rel="prefetch" href="/assets/jad.html.71725b4d.js"><link rel="prefetch" href="/assets/jfr.html.33d0e87c.js"><link rel="prefetch" href="/assets/jvm.html.15cac4de.js"><link rel="prefetch" href="/assets/keymap.html.c39ae847.js"><link rel="prefetch" href="/assets/logger.html.66bfe44f.js"><link rel="prefetch" href="/assets/manual-install.html.f703b58a.js"><link rel="prefetch" href="/assets/mbean.html.abe68e1f.js"><link rel="prefetch" href="/assets/mc.html.582e3978.js"><link rel="prefetch" href="/assets/memory.html.74cd562f.js"><link rel="prefetch" href="/assets/monitor.html.fb70539d.js"><link rel="prefetch" href="/assets/ognl.html.58452c6e.js"><link rel="prefetch" href="/assets/options.html.4f6b8af0.js"><link rel="prefetch" href="/assets/perfcounter.html.b2361fcc.js"><link rel="prefetch" href="/assets/pwd.html.45f7b5f4.js"><link rel="prefetch" href="/assets/quick-start.html.98742ff3.js"><link rel="prefetch" href="/assets/quit.html.9be5034b.js"><link rel="prefetch" href="/assets/redefine.html.06971ba0.js"><link rel="prefetch" href="/assets/release-notes.html.ae7c7b03.js"><link rel="prefetch" href="/assets/reset.html.a2343863.js"><link rel="prefetch" href="/assets/retransform.html.4ce82edc.js"><link rel="prefetch" href="/assets/save-log.html.6180adba.js"><link rel="prefetch" href="/assets/sc.html.a72025c4.js"><link rel="prefetch" href="/assets/session.html.ef6f8ac5.js"><link rel="prefetch" href="/assets/sm.html.86cd6928.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.248f9e7c.js"><link rel="prefetch" href="/assets/stack.html.1bde76ad.js"><link rel="prefetch" href="/assets/start-arthas.html.8d7621c3.js"><link rel="prefetch" href="/assets/stop.html.a68ed352.js"><link rel="prefetch" href="/assets/sysenv.html.40c9f7d4.js"><link rel="prefetch" href="/assets/sysprop.html.4eb01608.js"><link rel="prefetch" href="/assets/tee.html.436cef4e.js"><link rel="prefetch" href="/assets/thread.html.4f636016.js"><link rel="prefetch" href="/assets/trace.html.600f9b21.js"><link rel="prefetch" href="/assets/tt.html.9e9d979d.js"><link rel="prefetch" href="/assets/tunnel.html.b0c7fb87.js"><link rel="prefetch" href="/assets/version.html.69f86fd4.js"><link rel="prefetch" href="/assets/vmoption.html.639c7455.js"><link rel="prefetch" href="/assets/vmtool.html.98517f57.js"><link rel="prefetch" href="/assets/watch.html.53eabb0d.js"><link rel="prefetch" href="/assets/web-console.html.9c744879.js"><link rel="prefetch" href="/assets/index.html.a84844ee.js"><link rel="prefetch" href="/assets/advanced-use.html.39108be5.js"><link rel="prefetch" href="/assets/advice-class.html.2c6f4f1f.js"><link rel="prefetch" href="/assets/agent.html.719f7fa4.js"><link rel="prefetch" href="/assets/arthas-properties.html.343a2142.js"><link rel="prefetch" href="/assets/async.html.35353887.js"><link rel="prefetch" href="/assets/auth.html.e42b7afa.js"><link rel="prefetch" href="/assets/base64.html.28ca621c.js"><link rel="prefetch" href="/assets/batch-support.html.6b040071.js"><link rel="prefetch" href="/assets/cat.html.8716eb7e.js"><link rel="prefetch" href="/assets/classloader.html.f359a7bb.js"><link rel="prefetch" href="/assets/cls.html.e654aef1.js"><link rel="prefetch" href="/assets/commands.html.10091c22.js"><link rel="prefetch" href="/assets/contact-us.html.457d01dd.js"><link rel="prefetch" href="/assets/dashboard.html.bb68c60b.js"><link rel="prefetch" href="/assets/docker.html.d0532b9e.js"><link rel="prefetch" href="/assets/download.html.96adf786.js"><link rel="prefetch" href="/assets/dump.html.7397eecc.js"><link rel="prefetch" href="/assets/echo.html.2dc6eaf2.js"><link rel="prefetch" href="/assets/faq.html.6db3fc58.js"><link rel="prefetch" href="/assets/getstatic.html.1e109bf0.js"><link rel="prefetch" href="/assets/grep.html.c7e17e83.js"><link rel="prefetch" href="/assets/groovy.html.001f8d1b.js"><link rel="prefetch" href="/assets/heapdump.html.07bc1553.js"><link rel="prefetch" href="/assets/help.html.ebd24866.js"><link rel="prefetch" href="/assets/history.html.445ae69c.js"><link rel="prefetch" href="/assets/http-api.html.f5de2ec4.js"><link rel="prefetch" href="/assets/idea-plugin.html.be82f4f2.js"><link rel="prefetch" href="/assets/install-detail.html.0692c75f.js"><link rel="prefetch" href="/assets/jad.html.fa8e95fa.js"><link rel="prefetch" href="/assets/jfr.html.0dfa6982.js"><link rel="prefetch" href="/assets/jvm.html.a6c0f7fd.js"><link rel="prefetch" href="/assets/keymap.html.0e5a5b40.js"><link rel="prefetch" href="/assets/logger.html.d3d6c3e6.js"><link rel="prefetch" href="/assets/manual-install.html.b18c941c.js"><link rel="prefetch" href="/assets/mbean.html.05bd587d.js"><link rel="prefetch" href="/assets/mc.html.cb290020.js"><link rel="prefetch" href="/assets/memory.html.11c166db.js"><link rel="prefetch" href="/assets/monitor.html.49e70b36.js"><link rel="prefetch" href="/assets/ognl.html.4e58520e.js"><link rel="prefetch" href="/assets/options.html.cf3bf7c3.js"><link rel="prefetch" href="/assets/perfcounter.html.83ddcd61.js"><link rel="prefetch" href="/assets/profiler.html.8d268e29.js"><link rel="prefetch" href="/assets/pwd.html.43e9cc1a.js"><link rel="prefetch" href="/assets/quick-start.html.c0cf1f9e.js"><link rel="prefetch" href="/assets/quit.html.124a6c89.js"><link rel="prefetch" href="/assets/redefine.html.2483f8a2.js"><link rel="prefetch" href="/assets/release-notes.html.53ac11ef.js"><link rel="prefetch" href="/assets/reset.html.99285c85.js"><link rel="prefetch" href="/assets/retransform.html.9c53919b.js"><link rel="prefetch" href="/assets/save-log.html.5c8c7a50.js"><link rel="prefetch" href="/assets/sc.html.a3f58bf9.js"><link rel="prefetch" href="/assets/session.html.cb1f522c.js"><link rel="prefetch" href="/assets/sm.html.d8a5472b.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.7c722865.js"><link rel="prefetch" href="/assets/stack.html.da28c14e.js"><link rel="prefetch" href="/assets/start-arthas.html.2c8f4ce4.js"><link rel="prefetch" href="/assets/stop.html.1bc31912.js"><link rel="prefetch" href="/assets/sysenv.html.3df0e090.js"><link rel="prefetch" href="/assets/sysprop.html.79164b76.js"><link rel="prefetch" href="/assets/tee.html.0f6c7e78.js"><link rel="prefetch" href="/assets/thread.html.88276c74.js"><link rel="prefetch" href="/assets/trace.html.e758c83b.js"><link rel="prefetch" href="/assets/tt.html.c722ad73.js"><link rel="prefetch" href="/assets/tunnel.html.f982c6d5.js"><link rel="prefetch" href="/assets/version.html.e9002a9e.js"><link rel="prefetch" href="/assets/vmoption.html.935ccf06.js"><link rel="prefetch" href="/assets/vmtool.html.3cb852d5.js"><link rel="prefetch" href="/assets/watch.html.91855110.js"><link rel="prefetch" href="/assets/web-console.html.570f2fb0.js"><link rel="prefetch" href="/assets/intro.html.2fdcc1f6.js"><link rel="prefetch" href="/assets/user-question-history11440.html.bf724961.js"><link rel="prefetch" href="/assets/user-question-history11442.html.76b083f2.js"><link rel="prefetch" href="/assets/user-question-history11443.html.dd43140c.js"><link rel="prefetch" href="/assets/user-question-history11444.html.653016c8.js"><link rel="prefetch" href="/assets/user-question-history11450.html.7d057dc8.js"><link rel="prefetch" href="/assets/user-question-history11451.html.1f26a5f1.js"><link rel="prefetch" href="/assets/user-question-history11452.html.bea18c73.js"><link rel="prefetch" href="/assets/user-question-history11453.html.87249060.js"><link rel="prefetch" href="/assets/user-question-history11454.html.3e79ce1b.js"><link rel="prefetch" href="/assets/user-question-history11466.html.f9d0e2b5.js"><link rel="prefetch" href="/assets/user-question-history11467.html.050a5b65.js"><link rel="prefetch" href="/assets/user-question-history11468.html.cee7430d.js"><link rel="prefetch" href="/assets/user-question-history11469.html.20a0d9c0.js"><link rel="prefetch" href="/assets/user-question-history11784.html.d3927d19.js"><link rel="prefetch" href="/assets/user-question-history11795.html.c3a233c7.js"><link rel="prefetch" href="/assets/user-question-history11809.html.72add501.js"><link rel="prefetch" href="/assets/user-question-history11810.html.c45d594c.js"><link rel="prefetch" href="/assets/user-question-history11814.html.472dad8c.js"><link rel="prefetch" href="/assets/user-question-history12453.html.e7b00da5.js"><link rel="prefetch" href="/assets/user-question-history12454.html.070671e6.js"><link rel="prefetch" href="/assets/user-question-history12455.html.11c0505a.js"><link rel="prefetch" href="/assets/user-question-history12706.html.22838089.js"><link rel="prefetch" href="/assets/user-question-history12715.html.40520bb9.js"><link rel="prefetch" href="/assets/user-question-history12716.html.037a2b51.js"><link rel="prefetch" href="/assets/user-question-history12740.html.6c67d89e.js"><link rel="prefetch" href="/assets/user-question-history12741.html.8f8ef438.js"><link rel="prefetch" href="/assets/user-question-history13448.html.5f318a8d.js"><link rel="prefetch" href="/assets/user-question-history13504.html.b4ad4d3e.js"><link rel="prefetch" href="/assets/user-question-history13506.html.1dd05bf1.js"><link rel="prefetch" href="/assets/user-question-history13507.html.0abfa3db.js"><link rel="prefetch" href="/assets/user-question-history13508.html.80bc13cc.js"><link rel="prefetch" href="/assets/user-question-history13509.html.1fabd419.js"><link rel="prefetch" href="/assets/user-question-history13510.html.3776c582.js"><link rel="prefetch" href="/assets/user-question-history13511.html.812ade32.js"><link rel="prefetch" href="/assets/user-question-history13512.html.6a5ff3a5.js"><link rel="prefetch" href="/assets/user-question-history13513.html.cffa2f95.js"><link rel="prefetch" href="/assets/user-question-history13522.html.7148f7cf.js"><link rel="prefetch" href="/assets/user-question-history14763.html.c98ba895.js"><link rel="prefetch" href="/assets/user-question-history14831.html.cbafb0f2.js"><link rel="prefetch" href="/assets/user-question-history14832.html.4b80ed42.js"><link rel="prefetch" href="/assets/user-question-history14833.html.8db8f508.js"><link rel="prefetch" href="/assets/user-question-history14834.html.3822e6fc.js"><link rel="prefetch" href="/assets/user-question-history14840.html.93548107.js"><link rel="prefetch" href="/assets/user-question-history14843.html.7ff9f07b.js"><link rel="prefetch" href="/assets/user-question-history15167.html.2c138f8a.js"><link rel="prefetch" href="/assets/user-question-history15543.html.51c1fac1.js"><link rel="prefetch" href="/assets/user-question-history15726.html.56513042.js"><link rel="prefetch" href="/assets/user-question-history15728.html.0493e20a.js"><link rel="prefetch" href="/assets/user-question-history15729.html.5c5f8459.js"><link rel="prefetch" href="/assets/user-question-history15730.html.29f394dc.js"><link rel="prefetch" href="/assets/user-question-history15731.html.aafe333e.js"><link rel="prefetch" href="/assets/user-question-history15735.html.5d6f161d.js"><link rel="prefetch" href="/assets/user-question-history15736.html.2bab0f9a.js"><link rel="prefetch" href="/assets/user-question-history15737.html.520a0092.js"><link rel="prefetch" href="/assets/user-question-history15738.html.4faf5663.js"><link rel="prefetch" href="/assets/user-question-history15739.html.d7f678a3.js"><link rel="prefetch" href="/assets/user-question-history15740.html.d979803b.js"><link rel="prefetch" href="/assets/404.html.6f723974.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>v3.7.2</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&amp;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="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/profiler.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/profiler.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&amp;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="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/profiler.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/profiler.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 aria-current="page" href="/doc/profiler.html" class="router-link-active router-link-exact-active router-link-active sidebar-item active" 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 href="/doc/tt.html" class="sidebar-item" 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="artahs 怎么使用?"><!--[--><!--]--> artahs 怎么使用? <!--[--><!--]--></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="artahs 过滤方法的阐述"><!--[--><!--]--> artahs 过滤方法的阐述 <!--[--><!--]--></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="artahs中jad参数"><!--[--><!--]--> artahs中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="artahs 怎么查看内存情况?"><!--[--><!--]--> artahs 怎么查看内存情况? <!--[--><!--]--></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="profiler" tabindex="-1"><a class="header-anchor" href="#profiler" aria-hidden="true">#</a> profiler</h1><p><a href="https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&amp;id=command-profiler" target="_blank" rel="noopener noreferrer"><code>profiler</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>使用<a href="https://github.com/jvm-profiling-tools/async-profiler" target="_blank" rel="noopener noreferrer">async-profiler<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><p><code>profiler</code> 命令支持生成应用热点的火焰图。本质上是通过不断的采样,然后把收集到的采样结果生成火焰图。</p><p><code>profiler</code> 命令基本运行结构是 <code>profiler action [actionArg]</code></p><p><code>profiler</code> 命令的格式基本与上游项目 <a href="https://github.com/async-profiler/async-profiler" target="_blank" rel="noopener noreferrer">async-profiler<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> 保持一致,详细的使用方式可参考上游项目的 README、Github Disscussions 以及其他文档资料。</p><h2 id="参数说明" tabindex="-1"><a class="header-anchor" href="#参数说明" aria-hidden="true">#</a> 参数说明</h2><table><thead><tr><th style="text-align:right;">参数名称</th><th style="text-align:left;">参数说明</th></tr></thead><tbody><tr><td style="text-align:right;"><em>action</em></td><td style="text-align:left;">要执行的操作</td></tr><tr><td style="text-align:right;"><em>actionArg</em></td><td style="text-align:left;">属性名模式</td></tr><tr><td style="text-align:right;">[i:]</td><td style="text-align:left;">采样间隔单位ns默认值10&#39;000&#39;000即 10 ms</td></tr><tr><td style="text-align:right;">[f:]</td><td style="text-align:left;">将输出转储到指定路径</td></tr><tr><td style="text-align:right;">[d:]</td><td style="text-align:left;">运行评测指定秒</td></tr><tr><td style="text-align:right;">[e:]</td><td style="text-align:left;">要跟踪哪个事件cpu, alloc, lock, cache-misses 等),默认是 cpu</td></tr></tbody></table><h2 id="启动-profiler" tabindex="-1"><a class="header-anchor" href="#启动-profiler" aria-hidden="true">#</a> 启动 profiler</h2><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>$ profiler start
Started [cpu] profiling
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><div class="custom-container tip"><p class="custom-container-title">提示</p><p>默认情况下,生成的是 cpu 的火焰图,即 event 为<code>cpu</code>。可以用<code>--event</code>参数指定其他性能分析模式,见下文。</p></div><h2 id="获取已采集的-sample-的数量" tabindex="-1"><a class="header-anchor" href="#获取已采集的-sample-的数量" aria-hidden="true">#</a> 获取已采集的 sample 的数量</h2><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>$ profiler getSamples
23
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="查看-profiling-状态" tabindex="-1"><a class="header-anchor" href="#查看-profiling-状态" aria-hidden="true">#</a> 查看 profiling 状态</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ profiler status
<span class="token punctuation">[</span>cpu<span class="token punctuation">]</span> profiling is running <span class="token keyword">for</span> <span class="token number">4</span> seconds
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p>可以查看当前 profiler 在采样哪种<code>event</code>和采样时间。</p><h2 id="查看-profiler-自身的内存占用" tabindex="-1"><a class="header-anchor" href="#查看-profiler-自身的内存占用" aria-hidden="true">#</a> 查看 profiler 自身的内存占用</h2><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>$ profiler meminfo
Call trace storage: 10244 KB
Dictionaries: 72 KB
Code cache: 12890 KB
------------------------------
Total: 23206 KB
</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></div><h2 id="停止-profiler" tabindex="-1"><a class="header-anchor" href="#停止-profiler" aria-hidden="true">#</a> 停止 profiler</h2><h3 id="生成火焰图格式结果" tabindex="-1"><a class="header-anchor" href="#生成火焰图格式结果" aria-hidden="true">#</a> 生成火焰图格式结果</h3><p>默认情况下,结果是 <a href="https://github.com/BrendanGregg/FlameGraph" target="_blank" rel="noopener noreferrer">Flame Graph<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> 格式的 <code>html</code> 文件,也可以用 <code>-o</code><code>--format</code> 参数指定其他内容格式,包括 flat、traces、collapsed、flamegraph、tree、jfr。</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ profiler stop <span class="token parameter variable">--format</span> flamegraph
profiler output file: /tmp/test/arthas-output/20211207-111550.html
OK
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><code>--file</code>参数指定的文件名后缀为 <code>html</code><code>jfr</code> 时,文件格式可以被推断出来。比如<code>--file /tmp/result.html</code> 将自动生成火焰图。</p><h2 id="通过浏览器查看-arthas-output-下面的-profiler-结果" tabindex="-1"><a class="header-anchor" href="#通过浏览器查看-arthas-output-下面的-profiler-结果" aria-hidden="true">#</a> 通过浏览器查看 arthas-output 下面的 profiler 结果</h2><p>默认情况下arthas 使用 3658 端口,则可以打开: <a href="http://localhost:3658/arthas-output/" target="_blank" rel="noopener noreferrer">http://localhost:3658/arthas-output/<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> 查看到<code>arthas-output</code>目录下面的 profiler 结果:</p><p><img src="/images/arthas-output.jpg" alt=""></p><p>点击可以查看具体的结果:</p><p><img src="/images/arthas-output-svg.jpg" alt=""></p><div class="custom-container tip"><p class="custom-container-title">提示</p><p>如果是 chrome 浏览器,可能需要多次刷新。</p></div><h2 id="profiler-支持的-events" tabindex="-1"><a class="header-anchor" href="#profiler-支持的-events" aria-hidden="true">#</a> profiler 支持的 events</h2><p>在不同的平台,不同的 OS 下面,支持的 events 各有不同。比如在 macos 下面:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ profiler list
Basic events:
cpu
alloc
lock
wall
itimer
</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><p>在 linux 下面</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ profiler list
Basic events:
cpu
alloc
lock
wall
itimer
Java method calls:
ClassName.methodName
Perf events:
page-faults
context-switches
cycles
instructions
cache-references
cache-misses
branch-instructions
branch-misses
bus-cycles
L1-dcache-load-misses
LLC-load-misses
dTLB-load-misses
rNNN
pmu/event-descriptor/
mem:breakpoint
trace:tracepoint
kprobe:func
uprobe:path
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>如果遇到 OS 本身的权限/配置问题,然后缺少部分 event可以参考 <a href="https://github.com/jvm-profiling-tools/async-profiler" target="_blank" rel="noopener noreferrer">async-profiler 的文档<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><p>可以使用 <code>check</code> action 测试某个 event 是否可用,此 action 的参数格式与 start 一致。</p><p>可以用<code>--event</code>参数指定要采样的事件,比如 <code>alloc</code> 表示分析内存分配情况:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ profiler start <span class="token parameter variable">--event</span> alloc
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="恢复采样" tabindex="-1"><a class="header-anchor" href="#恢复采样" aria-hidden="true">#</a> 恢复采样</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ profiler resume
Started <span class="token punctuation">[</span>cpu<span class="token punctuation">]</span> profiling
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p><code>start</code><code>resume</code>的区别是:<code>start</code>会清除已有的分析结果重新开始,<code>resume</code>则会保留已有的结果,将新的分析结果附加到已有结果中。</p><p>通过执行<code>profiler getSamples</code>可以查看 samples 的数量来验证。</p><h2 id="dump-分析结果" tabindex="-1"><a class="header-anchor" href="#dump-分析结果" aria-hidden="true">#</a> Dump 分析结果</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ profiler dump
OK
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p><code>dump</code> action 将性能分析的结果保存到默认文件或指定的文件中,但 profiling 过程不会停止。例如,如果使用 <code>start</code> action 启动 profiling5 秒后执行 <code>dump</code> action2 秒后再次执行 <code>dump</code> action将会得到 2 个结果文件,第一个文件包括 0~5 秒的分析结果,第二个文件包括 0~7 秒的分析结果。</p><h2 id="使用execute来执行复杂的命令" tabindex="-1"><a class="header-anchor" href="#使用execute来执行复杂的命令" aria-hidden="true">#</a> 使用<code>execute</code>来执行复杂的命令</h2><p>比如开始采样:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>profiler execute <span class="token string">&#39;start,framebuf=5000000&#39;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>停止采样,并保存到指定文件里:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>profiler execute <span class="token string">&#39;stop,file=/tmp/result.html&#39;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>具体的格式参考: <a href="https://github.com/async-profiler/async-profiler/blob/v2.9/src/arguments.cpp#L52" target="_blank" rel="noopener noreferrer">arguments.cpp<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">在新窗口打开</span></span></a></p><h2 id="查看所有支持的-action" tabindex="-1"><a class="header-anchor" href="#查看所有支持的-action" aria-hidden="true">#</a> 查看所有支持的 action</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ profiler actions
Supported Actions: <span class="token punctuation">[</span>resume, dumpCollapsed, getSamples, start, list, version, execute, meminfo, stop, load, dumpFlat, dump, actions, dumpTraces, status, check<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></div><h2 id="查看版本" tabindex="-1"><a class="header-anchor" href="#查看版本" aria-hidden="true">#</a> 查看版本</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ profiler version
Async-profiler <span class="token number">2.9</span> built on May <span class="token number">8</span> <span class="token number">2023</span>
Copyright <span class="token number">2016</span>-2021 Andrei Pangin
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="配置-java-栈深度" tabindex="-1"><a class="header-anchor" href="#配置-java-栈深度" aria-hidden="true">#</a> 配置 Java 栈深度</h2><p>可以使用 <code>-j</code><code>--jstackdepth</code> 选项指定最大 Java 栈深度。如果指定值大于默认值 2048该选项会被忽略。当你不希望看到特别深的栈轨迹的时候这个选项会很有用以下是一个使用样例</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>profiler start <span class="token parameter variable">-j</span> <span class="token number">256</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="各线程分别进行-profiling" tabindex="-1"><a class="header-anchor" href="#各线程分别进行-profiling" aria-hidden="true">#</a> 各线程分别进行 profiling</h2><p>可以使用 <code>-t</code><code>--threads</code> 标志选项令 profiling 对各线程分别进行,每个栈轨迹都会以指示单个线程的帧结束。</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>profiler start <span class="token parameter variable">-t</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="配置-include-exclude-来过滤数据" tabindex="-1"><a class="header-anchor" href="#配置-include-exclude-来过滤数据" aria-hidden="true">#</a> 配置 include/exclude 来过滤数据</h2><p>如果应用比较复杂,生成的内容很多,想只关注部分 stack traces可以通过 <code>--include/--exclude</code> 过滤 stack traces<code>--include</code> 表示定义的匹配表达式必须出现在 stack traces相反 <code>--exclude</code> 表示定义的匹配表达式一定不会出现在 stack traces。 匹配表达式可以以<code>*</code>开始或者结束,<code>*</code> 表示任何(可能为空)字符序列。 比如</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>profiler stop <span class="token parameter variable">--include</span> <span class="token string">&#39;java/*&#39;</span> <span class="token parameter variable">--include</span> <span class="token string">&#39;com/demo/*&#39;</span> <span class="token parameter variable">--exclude</span> <span class="token string">&#39;*Unsafe.park*&#39;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><blockquote><p><code>--include/--exclude</code> 都支持多次设置,但是需要配置在命令行的最后。也可使用短参数格式 <code>-I/-X</code>。 注意<code>--include/--exclude</code>只支持在<code>stop</code>action或者带有<code>-d</code>/<code>--duration</code>参数的<code>start</code>action中指定否则不生效。</p></blockquote><h2 id="指定执行时间" tabindex="-1"><a class="header-anchor" href="#指定执行时间" aria-hidden="true">#</a> 指定执行时间</h2><p>比如,希望 profiler 执行 300 秒自动结束,可以用 <code>-d</code>/<code>--duration</code> 参数为 collect action 指定时间:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>profiler collect <span class="token parameter variable">--duration</span> <span class="token number">300</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="生成-jfr-格式结果" tabindex="-1"><a class="header-anchor" href="#生成-jfr-格式结果" aria-hidden="true">#</a> 生成 jfr 格式结果</h2><blockquote><p>注意jfr 只支持在 <code>start</code>时配置。如果是在<code>stop</code>时指定,则不会生效。</p></blockquote><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>profiler start --file /tmp/test.jfr
profiler start -o jfr
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p><code>file</code>参数支持一些变量:</p><ul><li>时间戳: <code>--file /tmp/test-%t.jfr</code></li><li>进程 ID <code>--file /tmp/test-%p.jfr</code></li></ul><p>生成的结果可以用支持 jfr 格式的工具来查看。比如:</p><ul><li>JDK Mission Control https://github.com/openjdk/jmc</li><li>JProfiler https://github.com/alibaba/arthas/issues/1416</li></ul><h2 id="控制分析结果的格式" tabindex="-1"><a class="header-anchor" href="#控制分析结果的格式" aria-hidden="true">#</a> 控制分析结果的格式</h2><p>使用 <code>-s</code> 选项将结果中的 Fully qualified name 替换为简单名称,如 <code>demo.MathGame.main</code> 替换为 <code>MathGame.main</code>。使用 <code>-g</code> 选项指定输出方法签名,如 <code>demo.MathGame.main</code> 替换为 <code>demo.MathGame.main([Ljava/lang/String;)V</code>。此外还有许多可调整分析结果格式的选项,可参考 <a href="https://github.com/async-profiler/async-profiler#readme" target="_blank" rel="noopener noreferrer">async-profiler 的 README 文档<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> 以及 <a href="https://github.com/async-profiler/async-profiler/discussions" target="_blank" rel="noopener noreferrer">async-profiler 的 Github Discussions<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><p>例如,以下命令中,<code>-s</code> 将输出中的类名称指定为简短格式,<code>-g</code> 显示方法的完整签名,<code>-a</code> 标注出 Java 方法,<code>-l</code> 为原生方法增加库名称,<code>--title</code> 为生成火焰图页面指定标题,<code>--minwidth</code> 将过滤火焰图中宽度为 15% 以下的帧,<code>--reverse</code> 将火焰图倒置。</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>profiler stop -s -g -a -l --title &lt;flametitle&gt; --minwidth 15 --reverse
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="生成的火焰图里的-unknown" tabindex="-1"><a class="header-anchor" href="#生成的火焰图里的-unknown" aria-hidden="true">#</a> 生成的火焰图里的 unknown</h2><ul><li>https://github.com/jvm-profiling-tools/async-profiler/discussions/409</li></ul><h2 id="配置-locks-allocations-模式的阈值" tabindex="-1"><a class="header-anchor" href="#配置-locks-allocations-模式的阈值" aria-hidden="true">#</a> 配置 locks/allocations 模式的阈值</h2><p>当使用 lock 或 alloc event 进行 profiling 时,可以使用 <code>--lock</code><code>--alloc</code> 配置阈值,比如下列命令:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>profiler start <span class="token parameter variable">-e</span> lock <span class="token parameter variable">--lock</span> 10ms
profiler start <span class="token parameter variable">-e</span> alloc <span class="token parameter variable">--alloc</span> 2m
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p>会记录竞争时间超过 10ms 的锁(如果不指定时间单位,则使用 ns 为单位),或者以 2MB 的单位记录对内存的分配。</p><h2 id="配置-jfr-块" tabindex="-1"><a class="header-anchor" href="#配置-jfr-块" aria-hidden="true">#</a> 配置 JFR 块</h2><p>当使用 JFR 作为输出格式时,可以使用 <code>--chunksize</code><code>--chunktime</code> 配置单个 JFR 块的大致容量(以 byte 为单位,默认 100 MB和时间限制默认值为 1 小时),比如:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>profiler start <span class="token parameter variable">-f</span> profile.jfr <span class="token parameter variable">--chunksize</span> 100m <span class="token parameter variable">--chunktime</span> 1h
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="将线程按照调度策略分组" tabindex="-1"><a class="header-anchor" href="#将线程按照调度策略分组" aria-hidden="true">#</a> 将线程按照调度策略分组</h2><p>可以使用 <code>--sched</code> 标志选项将输出结果按照 Linux 线程调度策略分组,策略包括 BATCH/IDLE/OTHER。例如</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>profiler start <span class="token parameter variable">--sched</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>火焰图的倒数第二行会标记不同的调度策略。</p><h2 id="仅用未销毁对象构建内存分析结果" tabindex="-1"><a class="header-anchor" href="#仅用未销毁对象构建内存分析结果" aria-hidden="true">#</a> 仅用未销毁对象构建内存分析结果</h2><p>使用 <code>--live</code> 标志选项在内存分析结果中仅保留那些在分析过程结束时仍未被 JVM 回收的对象。该选项在排查 Java 堆内存泄露问题时比较有用。</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>profiler start <span class="token parameter variable">--live</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="配置收集-c-栈帧的方法" tabindex="-1"><a class="header-anchor" href="#配置收集-c-栈帧的方法" aria-hidden="true">#</a> 配置收集 C 栈帧的方法</h2><p>使用 <code>--cstack MODE</code> 配置收集 native 帧的方法。候选模式有 fp (Frame Pointer), dwarf (DWARF unwind info), lbr (Last Branch Record, 从 Linux 4.1 在 Haswell 可用), and no (不收集 native 栈帧).</p><p>默认情况下C 栈帧会出现在 cpu、itimer、wall-clock、perf-events 模式中,而 Java 级别的 event 比如 alloc 和 lock 只收集 Java stack。</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>profiler <span class="token parameter variable">--cstack</span> fp
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>此命令将收集 native 栈帧的 Frame Pointer 信息。</p><h2 id="当指定-native-函数执行时开始-停止-profiling" tabindex="-1"><a class="header-anchor" href="#当指定-native-函数执行时开始-停止-profiling" aria-hidden="true">#</a> 当指定 native 函数执行时开始/停止 profiling</h2><p>使用 <code>--begin function</code><code>--end function</code> 选项在指定 native 函数被执行时让 profiling 过程启动或终止。主要用途是分析特定的 JVM 阶段,比如 GC 和安全点。需要使用特定 JVM 实现中的 native 函数名,比如 HotSpot JVM 中的 <code>SafepointSynchronize::begin</code><code>SafepointSynchronize::end</code></p><h3 id="time-to-safepoint-profiling" tabindex="-1"><a class="header-anchor" href="#time-to-safepoint-profiling" aria-hidden="true">#</a> Time-to-safepoint profiling</h3><p>选项 <code>--ttsp</code> 实际上是 <code>--begin SafepointSynchronize::begin --end RuntimeService::record_safepoint_synchronized</code> 的一个别名。它是一种约束而不是独立的 event 类型。无论选择哪种 eventprofiler 都可以正常工作,但只有 VM 操作和 safepoint request 之间的事件会被记录下来。</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>profiler start <span class="token parameter variable">--begin</span> SafepointSynchronize::begin <span class="token parameter variable">--end</span> RuntimeService::record_safepoint_synchronized
profiler <span class="token parameter variable">--ttsp</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="使用-profiler-记录的-event-生成-jfr-文件" tabindex="-1"><a class="header-anchor" href="#使用-profiler-记录的-event-生成-jfr-文件" aria-hidden="true">#</a> 使用 profiler 记录的 event 生成 JFR 文件</h2><p><code>--jfrsync CONFIG</code> 选项可以指定配置启动 Java Flight Recording输出的 jfr 文件会包含所有常规的 JFR event但采样的来源是由 profiler 提供的。</p><p><code>CONFIG</code> 选项可以是 <code>profile</code>,表示使用在 <code>$JAVA_HOME/lib/jfr</code> 目录下预置的“profile”配置也可以是自定义的 JFR 配置文件(.jfc此选项的值采用与 <a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/jcmd.html" target="_blank" rel="noopener noreferrer">JFR.start 命令的 settings 选项<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><p>比如以下命令使用“profile”配置启动 JFR</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>profiler start <span class="token parameter variable">-e</span> cpu <span class="token parameter variable">--jfrsync</span> profile <span class="token parameter variable">-f</span> combined.jfr
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="周期性保存结果" tabindex="-1"><a class="header-anchor" href="#周期性保存结果" aria-hidden="true">#</a> 周期性保存结果</h2><p>使用 <code>--loop TIME</code> 可以持续运行 profiler 并周期性保存结果。选项格式可以是具体时间 hh:mm:ss 或以秒、分钟、小时或天计算的时间间隔。需要确保指定的输出文件名中包含时间戳,否则每次输出的结果都会覆盖上次保存的结果。以下命令持续执行 profiling 并将每个小时内的记录保存到一个 jfr 文件中。</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>profiler start <span class="token parameter variable">--loop</span> 1h <span class="token parameter variable">-f</span> /var/log/profile-%t.jfr
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="timeout-选项" tabindex="-1"><a class="header-anchor" href="#timeout-选项" aria-hidden="true">#</a> <code>--timeout</code> 选项</h2><p>这个选项指定 profiling 自动在多久后停止。该选项和 <code>--loop</code> 选项的格式一致,可以是时间点,也可以是一个时间间隔。这两个选项都是用于 <code>start</code> action 而不是 <code>collect</code> action 的。可参考 <a href="https://github.com/async-profiler/async-profiler/discussions/789" target="_blank" rel="noopener noreferrer">async-profiler Github Discussions<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><!--[--><!--]--></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/profiler.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: wenchenghuang@mail.bnu.edu.cn">Winson Huang</span><!--[-->, <!--]--><!--]--><!--[--><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: 68638598+Allan-QLB@users.noreply.github.com">Allan-QLB</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: i@fatpandac.com">Fatpandac</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: 983433479@qq.com">汪吉</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: hollowman186@vip.qq.com">Hollow Man</span><!----><!--]--><!--]--></span></div></footer><nav class="page-nav right-menu-padding" data-v-fdd717e0><p class="inner"><span class="prev"><a href="/doc/perfcounter.html" class="" aria-label="perfcounter"><!--[--><!--]--> perfcounter <!--[--><!--]--></a></span><span class="next"><a href="/doc/pwd.html" class="" aria-label="pwd"><!--[--><!--]--> pwd <!--[--><!--]--></a></span></p></nav><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
<script type="module" src="/assets/app.977e81c1.js" defer></script>
</body>
</html>