mirror of https://github.com/alibaba/arthas.git
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.
29 lines
8.7 KiB
JavaScript
29 lines
8.7 KiB
JavaScript
import{_ as i,o as c,c as l,a as s,b as n,w as r,e as a,d,r as o}from"./app.391b0e4e.js";const p={},u=s("h1",{id:"vmtool",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#vmtool","aria-hidden":"true"},"#"),a(" vmtool")],-1),m=s("div",{class:"custom-container tip"},[s("p",{class:"custom-container-title"},"\u63D0\u793A"),s("p",null,"@since 3.5.1")],-1),h={href:"https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-vmtool",target:"_blank",rel:"noopener noreferrer"},v=s("code",null,"vmtool",-1),b=a("\u5728\u7EBF\u6559\u7A0B"),g=s("p",null,[s("code",null,"vmtool"),a(" \u5229\u7528"),s("code",null,"JVMTI"),a("\u63A5\u53E3\uFF0C\u5B9E\u73B0\u67E5\u8BE2\u5185\u5B58\u5BF9\u8C61\uFF0C\u5F3A\u5236 GC \u7B49\u529F\u80FD\u3002")],-1),k={href:"https://docs.oracle.com/javase/8/docs/platform/jvmti/jvmti.html",target:"_blank",rel:"noopener noreferrer"},_=a("JVM Tool Interface"),x=d(`<h3 id="\u83B7\u53D6\u5BF9\u8C61" tabindex="-1"><a class="header-anchor" href="#\u83B7\u53D6\u5BF9\u8C61" aria-hidden="true">#</a> \u83B7\u53D6\u5BF9\u8C61</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ vmtool --action getInstances --className java.lang.String --limit <span class="token number">10</span>
|
|
@String<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span>
|
|
@String<span class="token punctuation">[</span>com/taobao/arthas/core/shell/session/Session<span class="token punctuation">]</span>,
|
|
@String<span class="token punctuation">[</span>com.taobao.arthas.core.shell.session.Session<span class="token punctuation">]</span>,
|
|
@String<span class="token punctuation">[</span>com/taobao/arthas/core/shell/session/Session<span class="token punctuation">]</span>,
|
|
@String<span class="token punctuation">[</span>com/taobao/arthas/core/shell/session/Session<span class="token punctuation">]</span>,
|
|
@String<span class="token punctuation">[</span>com/taobao/arthas/core/shell/session/Session.class<span class="token punctuation">]</span>,
|
|
@String<span class="token punctuation">[</span>com/taobao/arthas/core/shell/session/Session.class<span class="token punctuation">]</span>,
|
|
@String<span class="token punctuation">[</span>com/taobao/arthas/core/shell/session/Session.class<span class="token punctuation">]</span>,
|
|
@String<span class="token punctuation">[</span>com/<span class="token punctuation">]</span>,
|
|
@String<span class="token punctuation">[</span>java/util/concurrent/ConcurrentHashMap<span class="token variable">$ValueIterator</span><span class="token punctuation">]</span>,
|
|
@String<span class="token punctuation">[</span>java/util/concurrent/locks/LockSupport<span class="token punctuation">]</span>,
|
|
<span class="token punctuation">]</span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>\u901A\u8FC7 <code>--limit</code>\u53C2\u6570\uFF0C\u53EF\u4EE5\u9650\u5236\u8FD4\u56DE\u503C\u6570\u91CF\uFF0C\u907F\u514D\u83B7\u53D6\u8D85\u5927\u6570\u636E\u65F6\u5BF9 JVM \u9020\u6210\u538B\u529B\u3002\u9ED8\u8BA4\u503C\u662F 10\u3002</p></div><h3 id="\u6307\u5B9A-classloader-name" tabindex="-1"><a class="header-anchor" href="#\u6307\u5B9A-classloader-name" aria-hidden="true">#</a> \u6307\u5B9A classloader name</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>vmtool --action getInstances --classLoaderClass org.springframework.boot.loader.LaunchedURLClassLoader --className org.springframework.context.ApplicationContext
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="\u6307\u5B9A-classloader-hash" tabindex="-1"><a class="header-anchor" href="#\u6307\u5B9A-classloader-hash" aria-hidden="true">#</a> \u6307\u5B9A classloader hash</h3><p>\u53EF\u4EE5\u901A\u8FC7<code>sc</code>\u547D\u4EE4\u67E5\u627E\u5230\u52A0\u8F7D class \u7684 classloader\u3002</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ sc -d org.springframework.context.ApplicationContext
|
|
class-info org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext
|
|
code-source file:/private/tmp/demo-arthas-spring-boot.jar<span class="token operator">!</span>/BOOT-INF/lib/spring-boot-1.5.13.RELEASE.jar<span class="token operator">!</span>/
|
|
name org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext
|
|
<span class="token punctuation">..</span>.
|
|
class-loader +-org.springframework.boot.loader.LaunchedURLClassLoader@19469ea2
|
|
+-sun.misc.Launcher<span class="token variable">$AppClassLoader</span>@75b84c92
|
|
+-sun.misc.Launcher<span class="token variable">$ExtClassLoader</span>@4f023edb
|
|
classLoaderHash 19469ea2
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u7136\u540E\u7528<code>-c</code>/<code>--classloader</code> \u53C2\u6570\u6307\u5B9A\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>vmtool --action getInstances -c 19469ea2 --className org.springframework.context.ApplicationContext
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="\u6307\u5B9A\u8FD4\u56DE\u7ED3\u679C\u5C55\u5F00\u5C42\u6570" tabindex="-1"><a class="header-anchor" href="#\u6307\u5B9A\u8FD4\u56DE\u7ED3\u679C\u5C55\u5F00\u5C42\u6570" aria-hidden="true">#</a> \u6307\u5B9A\u8FD4\u56DE\u7ED3\u679C\u5C55\u5F00\u5C42\u6570</h3><div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p><code>getInstances</code> action \u8FD4\u56DE\u7ED3\u679C\u7ED1\u5B9A\u5230<code>instances</code>\u53D8\u91CF\u4E0A\uFF0C\u5B83\u662F\u6570\u7EC4\u3002</p><p>\u901A\u8FC7 <code>-x</code>/<code>--expand</code> \u53C2\u6570\u53EF\u4EE5\u6307\u5B9A\u7ED3\u679C\u7684\u5C55\u5F00\u5C42\u6B21\uFF0C\u9ED8\u8BA4\u503C\u662F 1\u3002</p></div><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>vmtool --action getInstances -c 19469ea2 --className org.springframework.context.ApplicationContext -x <span class="token number">2</span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="\u6267\u884C\u8868\u8FBE\u5F0F" tabindex="-1"><a class="header-anchor" href="#\u6267\u884C\u8868\u8FBE\u5F0F" aria-hidden="true">#</a> \u6267\u884C\u8868\u8FBE\u5F0F</h3><div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p><code>getInstances</code> action \u8FD4\u56DE\u7ED3\u679C\u7ED1\u5B9A\u5230<code>instances</code>\u53D8\u91CF\u4E0A\uFF0C\u5B83\u662F\u6570\u7EC4\u3002\u53EF\u4EE5\u901A\u8FC7<code>--express</code>\u53C2\u6570\u6267\u884C\u6307\u5B9A\u7684\u8868\u8FBE\u5F0F\u3002</p></div><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>vmtool --action getInstances --classLoaderClass org.springframework.boot.loader.LaunchedURLClassLoader --className org.springframework.context.ApplicationContext --express <span class="token string">'instances[0].getBeanDefinitionNames()'</span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="\u5F3A\u5236-gc" tabindex="-1"><a class="header-anchor" href="#\u5F3A\u5236-gc" aria-hidden="true">#</a> \u5F3A\u5236 GC</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>vmtool --action forceGc
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,18),f=a("\u53EF\u4EE5\u7ED3\u5408 "),C=s("code",null,"vmoption",-1),L=a(" \u547D\u4EE4\u52A8\u6001\u6253\u5F00"),S=s("code",null,"PrintGC",-1),I=a("\u5F00\u5173\u3002");function w(A,N){const e=o("ExternalLinkIcon"),t=o("RouterLink");return c(),l("div",null,[u,m,s("p",null,[s("a",h,[v,b,n(e)])]),g,s("ul",null,[s("li",null,[s("a",k,[_,n(e)])])]),x,s("ul",null,[s("li",null,[f,n(t,{to:"/doc/vmoption.html"},{default:r(()=>[C]),_:1}),L,S,I])])])}var j=i(p,[["render",w],["__file","vmtool.html.vue"]]);export{j as default};
|