update doc

This commit is contained in:
hengyunabc
2022-09-02 16:49:20 +08:00
parent 1415eadf2d
commit 6ea535e3ea
584 changed files with 1964 additions and 1967 deletions
+5 -5
View File
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
import{_ as i,f as d,u as p,g as f,o as v,c as k,a as e,t as c,b as g,w as L,h as l,r as x,e as B}from"./app.e9adadd6.js";const N={class:"theme-container"},T={class:"page"},b={class:"theme-default-content"},C=e("h1",null,"404",-1),M=d({__name:"404",setup(R){var a,s,n;const _=p(),o=f(),t=(a=o.value.notFound)!=null?a:["Not Found"],r=()=>t[Math.floor(Math.random()*t.length)],u=(s=o.value.home)!=null?s:_.value,m=(n=o.value.backToHome)!=null?n:"Back to home";return(V,w)=>{const h=x("RouterLink");return v(),k("div",N,[e("main",T,[e("div",b,[C,e("blockquote",null,c(r()),1),g(h,{to:l(u)},{default:L(()=>[B(c(l(m)),1)]),_:1},8,["to"])])])])}}});var F=i(M,[["__file","404.vue"]]);export{F as default};
+1
View File
@@ -0,0 +1 @@
import{_ as e,o as c,c as t}from"./app.a799ec6e.js";const _={};function o(r,n){return c(),t("div")}const a=e(_,[["render",o],["__file","404.html.vue"]]);export{a as default};
-1
View File
@@ -1 +0,0 @@
import{_ as e,o as _,c}from"./app.e9adadd6.js";const r={};function t(o,a){return _(),c("div")}var s=e(r,[["render",t],["__file","404.html.vue"]]);export{s as default};
-1
View File
@@ -1 +0,0 @@
const t=JSON.parse('{"key":"v-3706649a","path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"404"},"excerpt":"","headers":[],"git":{},"filePathRelative":null,"version":"3.6.5"}');export{t as data};
+1
View File
@@ -0,0 +1 @@
const t=JSON.parse('{"key":"v-3706649a","path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound"},"excerpt":"","headers":[],"git":{},"filePathRelative":null,"version":"3.6.5"}');export{t as data};
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-463d120e","path":"/en/doc/advanced-use.html","title":"Advanced Usage","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Web Console","slug":"web-console","link":"#web-console","children":[]},{"level":2,"title":"Arthas Properties","slug":"arthas-properties","link":"#arthas-properties","children":[]},{"level":2,"title":"Start as a Java Agent","slug":"start-as-a-java-agent","link":"#start-as-a-java-agent","children":[]},{"level":2,"title":"as.sh and arthas-boot tips","slug":"as-sh-and-arthas-boot-tips","link":"#as-sh-and-arthas-boot-tips","children":[]},{"level":2,"title":"User data report","slug":"user-data-report","link":"#user-data-report","children":[]},{"level":2,"title":"Other features","slug":"other-features","link":"#other-features","children":[]}],"git":{"updatedTime":1658737180000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/advanced-use.md","version":"3.6.5"}');export{e as data};
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-0d09f68d","path":"/doc/advanced-use.html","title":"\u8FDB\u9636\u4F7F\u7528","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Web Console","slug":"web-console","link":"#web-console","children":[]},{"level":2,"title":"Arthas Properties","slug":"arthas-properties","link":"#arthas-properties","children":[]},{"level":2,"title":"\u4EE5 java agent \u65B9\u5F0F\u542F\u52A8","slug":"\u4EE5-java-agent-\u65B9\u5F0F\u542F\u52A8","link":"#\u4EE5-java-agent-\u65B9\u5F0F\u542F\u52A8","children":[]},{"level":2,"title":"as.sh \u548C arthas-boot \u6280\u5DE7","slug":"as-sh-\u548C-arthas-boot-\u6280\u5DE7","link":"#as-sh-\u548C-arthas-boot-\u6280\u5DE7","children":[]},{"level":2,"title":"\u7528\u6237\u6570\u636E\u56DE\u62A5","slug":"\u7528\u6237\u6570\u636E\u56DE\u62A5","link":"#\u7528\u6237\u6570\u636E\u56DE\u62A5","children":[]},{"level":2,"title":"\u5176\u4ED6\u7279\u6027","slug":"\u5176\u4ED6\u7279\u6027","link":"#\u5176\u4ED6\u7279\u6027","children":[]}],"git":{"updatedTime":1658737180000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/advanced-use.md","version":"3.6.5"}');export{e as data};
@@ -1,7 +1,7 @@
import{_ as r,o as i,c,a as s,b as n,w as t,e as a,d as p,r as l}from"./app.e9adadd6.js";const d={},u=s("h1",{id:"\u8FDB\u9636\u4F7F\u7528",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#\u8FDB\u9636\u4F7F\u7528","aria-hidden":"true"},"#"),a(" \u8FDB\u9636\u4F7F\u7528")],-1),h=s("h2",{id:"web-console",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#web-console","aria-hidden":"true"},"#"),a(" Web Console")],-1),v=s("p",null,"\u901A\u8FC7 websocket \u8FDE\u63A5 Arthas\u3002",-1),b=a("Web Console"),m=s("h2",{id:"arthas-properties",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#arthas-properties","aria-hidden":"true"},"#"),a(" Arthas Properties")],-1),k=a("Arthas Properties"),_=s("h2",{id:"\u4EE5-java-agent-\u65B9\u5F0F\u542F\u52A8",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#\u4EE5-java-agent-\u65B9\u5F0F\u542F\u52A8","aria-hidden":"true"},"#"),a(" \u4EE5 java agent \u65B9\u5F0F\u542F\u52A8")],-1),g=a("\u4EE5 java agent \u65B9\u5F0F\u542F\u52A8"),f=p(`<h2 id="as-sh-\u548C-arthas-boot-\u6280\u5DE7" tabindex="-1"><a class="header-anchor" href="#as-sh-\u548C-arthas-boot-\u6280\u5DE7" aria-hidden="true">#</a> as.sh \u548C arthas-boot \u6280\u5DE7</h2><ul><li>\u901A\u8FC7<code>select</code>\u529F\u80FD\u9009\u62E9 attach \u7684\u8FDB\u7A0B\u3002</li></ul><p>\u6B63\u5E38\u60C5\u51B5\u4E0B\uFF0C\u6BCF\u6B21\u6267\u884C<code>as.sh</code>/<code>arthas-boot.jar</code>\u9700\u8981\u9009\u62E9\uFF0C\u6216\u8005\u6307\u5B9A PID\u3002\u8FD9\u6837\u4F1A\u6BD4\u8F83\u9EBB\u70E6\uFF0C\u56E0\u4E3A\u6BCF\u6B21\u542F\u52A8\u5E94\u7528\uFF0C\u5B83\u7684 PID \u4F1A\u53D8\u5316\u3002</p><p>\u6BD4\u5982\uFF0C\u5DF2\u7ECF\u542F\u52A8\u4E86<code>math-game.jar</code>\uFF0C\u4F7F\u7528<code>jps</code>\u547D\u4EE4\u67E5\u770B\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ jps
import{_ as r,o as i,c,a as s,b as n,w as t,e as a,d as p,r as l}from"./app.a799ec6e.js";const d={},u=s("h1",{id:"\u8FDB\u9636\u4F7F\u7528",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#\u8FDB\u9636\u4F7F\u7528","aria-hidden":"true"},"#"),a(" \u8FDB\u9636\u4F7F\u7528")],-1),h=s("h2",{id:"web-console",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#web-console","aria-hidden":"true"},"#"),a(" Web Console")],-1),v=s("p",null,"\u901A\u8FC7 websocket \u8FDE\u63A5 Arthas\u3002",-1),b=a("Web Console"),m=s("h2",{id:"arthas-properties",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#arthas-properties","aria-hidden":"true"},"#"),a(" Arthas Properties")],-1),k=a("Arthas Properties"),_=s("h2",{id:"\u4EE5-java-agent-\u65B9\u5F0F\u542F\u52A8",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#\u4EE5-java-agent-\u65B9\u5F0F\u542F\u52A8","aria-hidden":"true"},"#"),a(" \u4EE5 java agent \u65B9\u5F0F\u542F\u52A8")],-1),g=a("\u4EE5 java agent \u65B9\u5F0F\u542F\u52A8"),f=p(`<h2 id="as-sh-\u548C-arthas-boot-\u6280\u5DE7" tabindex="-1"><a class="header-anchor" href="#as-sh-\u548C-arthas-boot-\u6280\u5DE7" aria-hidden="true">#</a> as.sh \u548C arthas-boot \u6280\u5DE7</h2><ul><li>\u901A\u8FC7<code>select</code>\u529F\u80FD\u9009\u62E9 attach \u7684\u8FDB\u7A0B\u3002</li></ul><p>\u6B63\u5E38\u60C5\u51B5\u4E0B\uFF0C\u6BCF\u6B21\u6267\u884C<code>as.sh</code>/<code>arthas-boot.jar</code>\u9700\u8981\u9009\u62E9\uFF0C\u6216\u8005\u6307\u5B9A PID\u3002\u8FD9\u6837\u4F1A\u6BD4\u8F83\u9EBB\u70E6\uFF0C\u56E0\u4E3A\u6BCF\u6B21\u542F\u52A8\u5E94\u7528\uFF0C\u5B83\u7684 PID \u4F1A\u53D8\u5316\u3002</p><p>\u6BD4\u5982\uFF0C\u5DF2\u7ECF\u542F\u52A8\u4E86<code>math-game.jar</code>\uFF0C\u4F7F\u7528<code>jps</code>\u547D\u4EE4\u67E5\u770B\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ jps
<span class="token number">58883</span> math-game.jar
<span class="token number">58884</span> Jps
</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>\u901A\u8FC7<code>select</code>\u53C2\u6570\u53EF\u4EE5\u6307\u5B9A\u8FDB\u7A0B\u540D\u5B57\uFF0C\u975E\u5E38\u65B9\u4FBF\u3002</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ ./as.sh --select math-game
</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>\u901A\u8FC7<code>select</code>\u53C2\u6570\u53EF\u4EE5\u6307\u5B9A\u8FDB\u7A0B\u540D\u5B57\uFF0C\u975E\u5E38\u65B9\u4FBF\u3002</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ ./as.sh <span class="token parameter variable">--select</span> math-game
Arthas script version: <span class="token number">3.3</span>.6
<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> JAVA_HOME: /tmp/java/8.0.222-zulu
Arthas home: /Users/admin/.arthas/lib/3.3.6/arthas
@@ -27,4 +27,4 @@ wiki https://arthas.aliyun.com/doc
tutorials https://arthas.aliyun.com/doc/arthas-tutorials.html
version <span class="token number">3.3</span>.6
pid <span class="token number">58883</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="\u7528\u6237\u6570\u636E\u56DE\u62A5" tabindex="-1"><a class="header-anchor" href="#\u7528\u6237\u6570\u636E\u56DE\u62A5" aria-hidden="true">#</a> \u7528\u6237\u6570\u636E\u56DE\u62A5</h2><p>\u5728<code>3.1.4</code>\u7248\u672C\u540E\uFF0C\u589E\u52A0\u4E86\u7528\u6237\u6570\u636E\u56DE\u62A5\u529F\u80FD\uFF0C\u65B9\u4FBF\u7EDF\u4E00\u505A\u5B89\u5168\u6216\u8005\u5386\u53F2\u6570\u636E\u7EDF\u8BA1\u3002</p><p>\u5728\u542F\u52A8\u65F6\uFF0C\u6307\u5B9A<code>stat-url</code>\uFF0C\u5C31\u4F1A\u56DE\u62A5\u6267\u884C\u7684\u6BCF\u4E00\u884C\u547D\u4EE4\uFF0C\u6BD4\u5982\uFF1A <code>./as.sh --stat-url &#39;http://192.168.10.11:8080/api/stat&#39;</code></p><p>\u5728 tunnel server \u91CC\u6709\u4E00\u4E2A\u793A\u4F8B\u7684\u56DE\u62A5\u4EE3\u7801\uFF0C\u7528\u6237\u53EF\u4EE5\u81EA\u5DF1\u5728\u670D\u52A1\u5668\u4E0A\u5B9E\u73B0\u3002</p>`,11),x={href:"https://github.com/alibaba/arthas/blob/master/tunnel-server/src/main/java/com/alibaba/arthas/tunnel/server/app/web/StatController.java",target:"_blank",rel:"noopener noreferrer"},j=a("StatController.java"),A=s("h2",{id:"\u5176\u4ED6\u7279\u6027",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#\u5176\u4ED6\u7279\u6027","aria-hidden":"true"},"#"),a(" \u5176\u4ED6\u7279\u6027")],-1),w=a("\u5F02\u6B65\u547D\u4EE4\u652F\u6301"),C=a("\u6267\u884C\u7ED3\u679C\u5B58\u65E5\u5FD7"),y=a("\u6279\u5904\u7406\u7684\u652F\u6301"),E={href:"https://github.com/alibaba/arthas/issues/11",target:"_blank",rel:"noopener noreferrer"},I=a("ognl \u8868\u8FBE\u5F0F\u7684\u7528\u6CD5\u8BF4\u660E");function N(V,L){const e=l("RouterLink"),o=l("ExternalLinkIcon");return i(),c("div",null,[u,h,v,s("ul",null,[s("li",null,[n(e,{to:"/doc/web-console.html"},{default:t(()=>[b]),_:1})])]),m,s("ul",null,[s("li",null,[n(e,{to:"/doc/arthas-properties.html"},{default:t(()=>[k]),_:1})])]),_,s("ul",null,[s("li",null,[n(e,{to:"/doc/agent.html"},{default:t(()=>[g]),_:1})])]),f,s("p",null,[s("a",x,[j,n(o)])]),A,s("ul",null,[s("li",null,[n(e,{to:"/doc/async.html"},{default:t(()=>[w]),_:1})]),s("li",null,[n(e,{to:"/doc/save-log.html"},{default:t(()=>[C]),_:1})]),s("li",null,[n(e,{to:"/doc/batch-support.html"},{default:t(()=>[y]),_:1})]),s("li",null,[s("a",E,[I,n(o)])])])])}var P=r(d,[["render",N],["__file","advanced-use.html.vue"]]);export{P as default};
</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></div><h2 id="\u7528\u6237\u6570\u636E\u56DE\u62A5" tabindex="-1"><a class="header-anchor" href="#\u7528\u6237\u6570\u636E\u56DE\u62A5" aria-hidden="true">#</a> \u7528\u6237\u6570\u636E\u56DE\u62A5</h2><p>\u5728<code>3.1.4</code>\u7248\u672C\u540E\uFF0C\u589E\u52A0\u4E86\u7528\u6237\u6570\u636E\u56DE\u62A5\u529F\u80FD\uFF0C\u65B9\u4FBF\u7EDF\u4E00\u505A\u5B89\u5168\u6216\u8005\u5386\u53F2\u6570\u636E\u7EDF\u8BA1\u3002</p><p>\u5728\u542F\u52A8\u65F6\uFF0C\u6307\u5B9A<code>stat-url</code>\uFF0C\u5C31\u4F1A\u56DE\u62A5\u6267\u884C\u7684\u6BCF\u4E00\u884C\u547D\u4EE4\uFF0C\u6BD4\u5982\uFF1A <code>./as.sh --stat-url &#39;http://192.168.10.11:8080/api/stat&#39;</code></p><p>\u5728 tunnel server \u91CC\u6709\u4E00\u4E2A\u793A\u4F8B\u7684\u56DE\u62A5\u4EE3\u7801\uFF0C\u7528\u6237\u53EF\u4EE5\u81EA\u5DF1\u5728\u670D\u52A1\u5668\u4E0A\u5B9E\u73B0\u3002</p>`,11),x={href:"https://github.com/alibaba/arthas/blob/master/tunnel-server/src/main/java/com/alibaba/arthas/tunnel/server/app/web/StatController.java",target:"_blank",rel:"noopener noreferrer"},j=a("StatController.java"),A=s("h2",{id:"\u5176\u4ED6\u7279\u6027",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#\u5176\u4ED6\u7279\u6027","aria-hidden":"true"},"#"),a(" \u5176\u4ED6\u7279\u6027")],-1),w=a("\u5F02\u6B65\u547D\u4EE4\u652F\u6301"),C=a("\u6267\u884C\u7ED3\u679C\u5B58\u65E5\u5FD7"),y=a("\u6279\u5904\u7406\u7684\u652F\u6301"),E={href:"https://github.com/alibaba/arthas/issues/11",target:"_blank",rel:"noopener noreferrer"},I=a("ognl \u8868\u8FBE\u5F0F\u7684\u7528\u6CD5\u8BF4\u660E");function N(V,L){const e=l("RouterLink"),o=l("ExternalLinkIcon");return i(),c("div",null,[u,h,v,s("ul",null,[s("li",null,[n(e,{to:"/doc/web-console.html"},{default:t(()=>[b]),_:1})])]),m,s("ul",null,[s("li",null,[n(e,{to:"/doc/arthas-properties.html"},{default:t(()=>[k]),_:1})])]),_,s("ul",null,[s("li",null,[n(e,{to:"/doc/agent.html"},{default:t(()=>[g]),_:1})])]),f,s("p",null,[s("a",x,[j,n(o)])]),A,s("ul",null,[s("li",null,[n(e,{to:"/doc/async.html"},{default:t(()=>[w]),_:1})]),s("li",null,[n(e,{to:"/doc/save-log.html"},{default:t(()=>[C]),_:1})]),s("li",null,[n(e,{to:"/doc/batch-support.html"},{default:t(()=>[y]),_:1})]),s("li",null,[s("a",E,[I,n(o)])])])])}const P=r(d,[["render",N],["__file","advanced-use.html.vue"]]);export{P as default};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-463d120e","path":"/en/doc/advanced-use.html","title":"Advanced Usage","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Web Console","slug":"web-console","children":[]},{"level":2,"title":"Arthas Properties","slug":"arthas-properties","children":[]},{"level":2,"title":"Start as a Java Agent","slug":"start-as-a-java-agent","children":[]},{"level":2,"title":"as.sh and arthas-boot tips","slug":"as-sh-and-arthas-boot-tips","children":[]},{"level":2,"title":"User data report","slug":"user-data-report","children":[]},{"level":2,"title":"Other features","slug":"other-features","children":[]}],"git":{"updatedTime":1658737180000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/advanced-use.md","version":"3.6.5"}');export{e as data};
@@ -1,7 +1,7 @@
import{_ as l,o as i,c,a,b as n,w as t,e as s,d as p,r}from"./app.e9adadd6.js";const d={},u=a("h1",{id:"advanced-usage",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#advanced-usage","aria-hidden":"true"},"#"),s(" Advanced Usage")],-1),h=a("h2",{id:"web-console",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#web-console","aria-hidden":"true"},"#"),s(" Web Console")],-1),v=a("p",null,"Arthas supports living inside a browser. The communication between arthas and browser is via websocket.",-1),b=s("Web Console"),m=a("h2",{id:"arthas-properties",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#arthas-properties","aria-hidden":"true"},"#"),s(" Arthas Properties")],-1),k=s("Arthas Properties"),_=a("h2",{id:"start-as-a-java-agent",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#start-as-a-java-agent","aria-hidden":"true"},"#"),s(" Start as a Java Agent")],-1),g=s("Start as a Java Agent"),f=p(`<h2 id="as-sh-and-arthas-boot-tips" tabindex="-1"><a class="header-anchor" href="#as-sh-and-arthas-boot-tips" aria-hidden="true">#</a> as.sh and arthas-boot tips</h2><ul><li>Select the process to be attached via the <code>select</code> option.</li></ul><p>Normally, <code>as.sh</code>/<code>arthas-boot.jar</code> needs to a pid, bacause the pid will change.</p><p>For example, with <code>math-game.jar</code> already started, use the <code>jps</code> command to see.</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ jps
import{_ as l,o as i,c,a,b as n,w as t,e as s,d as p,r}from"./app.a799ec6e.js";const d={},u=a("h1",{id:"advanced-usage",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#advanced-usage","aria-hidden":"true"},"#"),s(" Advanced Usage")],-1),h=a("h2",{id:"web-console",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#web-console","aria-hidden":"true"},"#"),s(" Web Console")],-1),v=a("p",null,"Arthas supports living inside a browser. The communication between arthas and browser is via websocket.",-1),b=s("Web Console"),m=a("h2",{id:"arthas-properties",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#arthas-properties","aria-hidden":"true"},"#"),s(" Arthas Properties")],-1),k=s("Arthas Properties"),_=a("h2",{id:"start-as-a-java-agent",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#start-as-a-java-agent","aria-hidden":"true"},"#"),s(" Start as a Java Agent")],-1),g=s("Start as a Java Agent"),f=p(`<h2 id="as-sh-and-arthas-boot-tips" tabindex="-1"><a class="header-anchor" href="#as-sh-and-arthas-boot-tips" aria-hidden="true">#</a> as.sh and arthas-boot tips</h2><ul><li>Select the process to be attached via the <code>select</code> option.</li></ul><p>Normally, <code>as.sh</code>/<code>arthas-boot.jar</code> needs to a pid, bacause the pid will change.</p><p>For example, with <code>math-game.jar</code> already started, use the <code>jps</code> command to see.</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ jps
<span class="token number">58883</span> math-game.jar
<span class="token number">58884</span> Jps
</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>The <code>select</code> option allows you to specify a process name, which is very convenient.</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ ./as.sh --select math-game
</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>The <code>select</code> option allows you to specify a process name, which is very convenient.</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ ./as.sh <span class="token parameter variable">--select</span> math-game
Arthas script version: <span class="token number">3.3</span>.6
<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> JAVA_HOME: /tmp/java/8.0.222-zulu
Arthas home: /Users/admin/.arthas/lib/3.3.6/arthas
@@ -27,4 +27,4 @@ wiki https://arthas.aliyun.com/doc
tutorials https://arthas.aliyun.com/doc/arthas-tutorials.html
version <span class="token number">3.3</span>.6
pid <span class="token number">58883</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="user-data-report" tabindex="-1"><a class="header-anchor" href="#user-data-report" aria-hidden="true">#</a> User data report</h2><p>After the <code>3.1.4</code> version, arthas support user data report.</p><p>At startup, use the <code>stat-url</code> option, such as: <code>./as.sh --stat-url &#39;http://192.168.10.11:8080/api/stat&#39;</code></p><p>There is a sample data report in the tunnel server that users can implement on their own.</p>`,11),x={href:"https://github.com/alibaba/arthas/blob/master/tunnel-server/src/main/java/com/alibaba/arthas/tunnel/server/app/web/StatController.java",target:"_blank",rel:"noopener noreferrer"},w=s("StatController.java"),A=a("h2",{id:"other-features",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#other-features","aria-hidden":"true"},"#"),s(" Other features")],-1),j=s("Async support"),y=s("log the output"),C=s("batch"),N={href:"https://github.com/alibaba/arthas/issues/11",target:"_blank",rel:"noopener noreferrer"},S=s("how to use ognl");function E(O,T){const e=r("RouterLink"),o=r("ExternalLinkIcon");return i(),c("div",null,[u,h,v,a("ul",null,[a("li",null,[n(e,{to:"/en/doc/web-console.html"},{default:t(()=>[b]),_:1})])]),m,a("ul",null,[a("li",null,[n(e,{to:"/en/doc/arthas-properties.html"},{default:t(()=>[k]),_:1})])]),_,a("ul",null,[a("li",null,[n(e,{to:"/en/doc/agent.html"},{default:t(()=>[g]),_:1})])]),f,a("p",null,[a("a",x,[w,n(o)])]),A,a("ul",null,[a("li",null,[n(e,{to:"/en/doc/async.html"},{default:t(()=>[j]),_:1})]),a("li",null,[n(e,{to:"/en/doc/logger.html"},{default:t(()=>[y]),_:1})]),a("li",null,[n(e,{to:"/en/doc/batch-support.html"},{default:t(()=>[C]),_:1})]),a("li",null,[a("a",N,[S,n(o)])])])])}var V=l(d,[["render",E],["__file","advanced-use.html.vue"]]);export{V as default};
</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></div><h2 id="user-data-report" tabindex="-1"><a class="header-anchor" href="#user-data-report" aria-hidden="true">#</a> User data report</h2><p>After the <code>3.1.4</code> version, arthas support user data report.</p><p>At startup, use the <code>stat-url</code> option, such as: <code>./as.sh --stat-url &#39;http://192.168.10.11:8080/api/stat&#39;</code></p><p>There is a sample data report in the tunnel server that users can implement on their own.</p>`,11),x={href:"https://github.com/alibaba/arthas/blob/master/tunnel-server/src/main/java/com/alibaba/arthas/tunnel/server/app/web/StatController.java",target:"_blank",rel:"noopener noreferrer"},w=s("StatController.java"),A=a("h2",{id:"other-features",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#other-features","aria-hidden":"true"},"#"),s(" Other features")],-1),j=s("Async support"),y=s("log the output"),C=s("batch"),N={href:"https://github.com/alibaba/arthas/issues/11",target:"_blank",rel:"noopener noreferrer"},S=s("how to use ognl");function E(O,T){const e=r("RouterLink"),o=r("ExternalLinkIcon");return i(),c("div",null,[u,h,v,a("ul",null,[a("li",null,[n(e,{to:"/en/doc/web-console.html"},{default:t(()=>[b]),_:1})])]),m,a("ul",null,[a("li",null,[n(e,{to:"/en/doc/arthas-properties.html"},{default:t(()=>[k]),_:1})])]),_,a("ul",null,[a("li",null,[n(e,{to:"/en/doc/agent.html"},{default:t(()=>[g]),_:1})])]),f,a("p",null,[a("a",x,[w,n(o)])]),A,a("ul",null,[a("li",null,[n(e,{to:"/en/doc/async.html"},{default:t(()=>[j]),_:1})]),a("li",null,[n(e,{to:"/en/doc/logger.html"},{default:t(()=>[y]),_:1})]),a("li",null,[n(e,{to:"/en/doc/batch-support.html"},{default:t(()=>[C]),_:1})]),a("li",null,[a("a",N,[S,n(o)])])])])}const V=l(d,[["render",E],["__file","advanced-use.html.vue"]]);export{V as default};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-0d09f68d","path":"/doc/advanced-use.html","title":"\u8FDB\u9636\u4F7F\u7528","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Web Console","slug":"web-console","children":[]},{"level":2,"title":"Arthas Properties","slug":"arthas-properties","children":[]},{"level":2,"title":"\u4EE5 java agent \u65B9\u5F0F\u542F\u52A8","slug":"\u4EE5-java-agent-\u65B9\u5F0F\u542F\u52A8","children":[]},{"level":2,"title":"as.sh \u548C arthas-boot \u6280\u5DE7","slug":"as-sh-\u548C-arthas-boot-\u6280\u5DE7","children":[]},{"level":2,"title":"\u7528\u6237\u6570\u636E\u56DE\u62A5","slug":"\u7528\u6237\u6570\u636E\u56DE\u62A5","children":[]},{"level":2,"title":"\u5176\u4ED6\u7279\u6027","slug":"\u5176\u4ED6\u7279\u6027","children":[]}],"git":{"updatedTime":1658737180000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/advanced-use.md","version":"3.6.5"}');export{e as data};
@@ -1,4 +1,4 @@
import{_ as s,o as l,c as o,a as e,b as a,d as r,e as t,r as i}from"./app.e9adadd6.js";const c={},d=r(`<h1 id="fundamental-fields-in-expressions" tabindex="-1"><a class="header-anchor" href="#fundamental-fields-in-expressions" aria-hidden="true">#</a> Fundamental Fields in Expressions</h1><p>There is a very fundamental class <code>Advice</code> for the expressions used in filtering, tracing or monitoring and other aspects in commands.</p><div class="language-java ext-java line-numbers-mode"><pre class="language-java"><code><span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">Advice</span> <span class="token punctuation">{</span>
import{_ as s,o as l,c as o,a as e,b as a,d as r,e as t,r as i}from"./app.a799ec6e.js";const c={},d=r(`<h1 id="fundamental-fields-in-expressions" tabindex="-1"><a class="header-anchor" href="#fundamental-fields-in-expressions" aria-hidden="true">#</a> Fundamental Fields in Expressions</h1><p>There is a very fundamental class <code>Advice</code> for the expressions used in filtering, tracing or monitoring and other aspects in commands.</p><div class="language-java ext-java line-numbers-mode"><pre class="language-java"><code><span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">Advice</span> <span class="token punctuation">{</span>
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token class-name">ClassLoader</span> loader<span class="token punctuation">;</span>
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token class-name">Class</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token operator">?</span><span class="token punctuation">&gt;</span></span> clazz<span class="token punctuation">;</span>
@@ -13,4 +13,4 @@ import{_ as s,o as l,c as o,a as e,b as a,d as r,e as t,r as i}from"./app.e9adad
<span class="token comment">// getter/setter</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Description for the variables in the class <code>Advice</code>:</p><table><thead><tr><th style="text-align:right;">Name</th><th style="text-align:left;">Specification</th></tr></thead><tbody><tr><td style="text-align:right;">loader</td><td style="text-align:left;">the class loader for the current called class</td></tr><tr><td style="text-align:right;">clazz</td><td style="text-align:left;">the reference to the current called class</td></tr><tr><td style="text-align:right;">method</td><td style="text-align:left;">the reference to the current called method</td></tr><tr><td style="text-align:right;">target</td><td style="text-align:left;">the instance of the current called class</td></tr><tr><td style="text-align:right;">params</td><td style="text-align:left;">the parameters for the current call, which is an array (when there&#39;s no parameter, it will be an empty array)</td></tr><tr><td style="text-align:right;">returnObj</td><td style="text-align:left;">the return value from the current call - only available when the method call returns normally (<code>isReturn==true</code>), and <code>null</code> is for <code>void</code> return value</td></tr><tr><td style="text-align:right;">throwExp</td><td style="text-align:left;">the exceptions thrown from the current call - only available when the method call throws exception (<code>isThrow==true</code>)</td></tr><tr><td style="text-align:right;">isBefore</td><td style="text-align:left;">flag to indicate the method is about to execute. <code>isBefore==true</code> but <code>isThrow==false</code> and <code>isReturn==false</code> since it&#39;s no way to know how the method call will end</td></tr><tr><td style="text-align:right;">isThrow</td><td style="text-align:left;">flag to indicate the method call ends with exception thrown</td></tr><tr><td style="text-align:right;">isReturn</td><td style="text-align:left;">flag to indicate the method call ends normally without exception thrown</td></tr></tbody></table>`,5),p=t("All variables listed above can be used directly in the "),h={href:"https://commons.apache.org/proper/commons-ognl/language-guide.html",target:"_blank",rel:"noopener noreferrer"},u=t("OGNL expression"),k=t(". The command will not execute and exit if there's illegal OGNL grammar or unexpected variable in the expression."),m={href:"https://github.com/alibaba/arthas/issues/71",target:"_blank",rel:"noopener noreferrer"},g=t("typical use cases"),v=t(";"),f={href:"https://commons.apache.org/proper/commons-ognl/language-guide.html",target:"_blank",rel:"noopener noreferrer"},y=t("OGNL language guide"),b=t(".");function w(x,_){const n=i("ExternalLinkIcon");return l(),o("div",null,[d,e("p",null,[p,e("a",h,[u,a(n)]),k]),e("ul",null,[e("li",null,[e("a",m,[g,a(n)]),v]),e("li",null,[e("a",f,[y,a(n)]),b])])])}var N=s(c,[["render",w],["__file","advice-class.html.vue"]]);export{N as default};
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Description for the variables in the class <code>Advice</code>:</p><table><thead><tr><th style="text-align:right;">Name</th><th style="text-align:left;">Specification</th></tr></thead><tbody><tr><td style="text-align:right;">loader</td><td style="text-align:left;">the class loader for the current called class</td></tr><tr><td style="text-align:right;">clazz</td><td style="text-align:left;">the reference to the current called class</td></tr><tr><td style="text-align:right;">method</td><td style="text-align:left;">the reference to the current called method</td></tr><tr><td style="text-align:right;">target</td><td style="text-align:left;">the instance of the current called class</td></tr><tr><td style="text-align:right;">params</td><td style="text-align:left;">the parameters for the current call, which is an array (when there&#39;s no parameter, it will be an empty array)</td></tr><tr><td style="text-align:right;">returnObj</td><td style="text-align:left;">the return value from the current call - only available when the method call returns normally (<code>isReturn==true</code>), and <code>null</code> is for <code>void</code> return value</td></tr><tr><td style="text-align:right;">throwExp</td><td style="text-align:left;">the exceptions thrown from the current call - only available when the method call throws exception (<code>isThrow==true</code>)</td></tr><tr><td style="text-align:right;">isBefore</td><td style="text-align:left;">flag to indicate the method is about to execute. <code>isBefore==true</code> but <code>isThrow==false</code> and <code>isReturn==false</code> since it&#39;s no way to know how the method call will end</td></tr><tr><td style="text-align:right;">isThrow</td><td style="text-align:left;">flag to indicate the method call ends with exception thrown</td></tr><tr><td style="text-align:right;">isReturn</td><td style="text-align:left;">flag to indicate the method call ends normally without exception thrown</td></tr></tbody></table>`,5),p=t("All variables listed above can be used directly in the "),h={href:"https://commons.apache.org/proper/commons-ognl/language-guide.html",target:"_blank",rel:"noopener noreferrer"},u=t("OGNL expression"),k=t(". The command will not execute and exit if there's illegal OGNL grammar or unexpected variable in the expression."),m={href:"https://github.com/alibaba/arthas/issues/71",target:"_blank",rel:"noopener noreferrer"},g=t("typical use cases"),v=t(";"),f={href:"https://commons.apache.org/proper/commons-ognl/language-guide.html",target:"_blank",rel:"noopener noreferrer"},y=t("OGNL language guide"),b=t(".");function w(x,_){const n=i("ExternalLinkIcon");return l(),o("div",null,[d,e("p",null,[p,e("a",h,[u,a(n)]),k]),e("ul",null,[e("li",null,[e("a",m,[g,a(n)]),v]),e("li",null,[e("a",f,[y,a(n)]),b])])])}const N=s(c,[["render",w],["__file","advice-class.html.vue"]]);export{N as default};
@@ -1,4 +1,4 @@
import{_ as e,o as l,c as o,a as s,b as n,d as r,e as a,r as i}from"./app.e9adadd6.js";const c={},p=r(`<h1 id="\u8868\u8FBE\u5F0F\u6838\u5FC3\u53D8\u91CF" tabindex="-1"><a class="header-anchor" href="#\u8868\u8FBE\u5F0F\u6838\u5FC3\u53D8\u91CF" aria-hidden="true">#</a> \u8868\u8FBE\u5F0F\u6838\u5FC3\u53D8\u91CF</h1><p>\u65E0\u8BBA\u662F\u5339\u914D\u8868\u8FBE\u5F0F\u4E5F\u597D\u3001\u89C2\u5BDF\u8868\u8FBE\u5F0F\u4E5F\u7F62\uFF0C\u4ED6\u4EEC\u6838\u5FC3\u5224\u65AD\u53D8\u91CF\u90FD\u662F\u56F4\u7ED5\u7740\u4E00\u4E2A Arthas \u4E2D\u7684\u901A\u7528\u901A\u77E5\u5BF9\u8C61 <code>Advice</code> \u8FDB\u884C\u3002</p><p>\u5B83\u7684\u7B80\u7565\u4EE3\u7801\u7ED3\u6784\u5982\u4E0B</p><div class="language-java ext-java line-numbers-mode"><pre class="language-java"><code><span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">Advice</span> <span class="token punctuation">{</span>
import{_ as e,o as l,c as o,a as s,b as n,d as r,e as a,r as i}from"./app.a799ec6e.js";const c={},p=r(`<h1 id="\u8868\u8FBE\u5F0F\u6838\u5FC3\u53D8\u91CF" tabindex="-1"><a class="header-anchor" href="#\u8868\u8FBE\u5F0F\u6838\u5FC3\u53D8\u91CF" aria-hidden="true">#</a> \u8868\u8FBE\u5F0F\u6838\u5FC3\u53D8\u91CF</h1><p>\u65E0\u8BBA\u662F\u5339\u914D\u8868\u8FBE\u5F0F\u4E5F\u597D\u3001\u89C2\u5BDF\u8868\u8FBE\u5F0F\u4E5F\u7F62\uFF0C\u4ED6\u4EEC\u6838\u5FC3\u5224\u65AD\u53D8\u91CF\u90FD\u662F\u56F4\u7ED5\u7740\u4E00\u4E2A Arthas \u4E2D\u7684\u901A\u7528\u901A\u77E5\u5BF9\u8C61 <code>Advice</code> \u8FDB\u884C\u3002</p><p>\u5B83\u7684\u7B80\u7565\u4EE3\u7801\u7ED3\u6784\u5982\u4E0B</p><div class="language-java ext-java line-numbers-mode"><pre class="language-java"><code><span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">Advice</span> <span class="token punctuation">{</span>
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token class-name">ClassLoader</span> loader<span class="token punctuation">;</span>
<span class="token keyword">private</span> <span class="token keyword">final</span> <span class="token class-name">Class</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token operator">?</span><span class="token punctuation">&gt;</span></span> clazz<span class="token punctuation">;</span>
@@ -13,4 +13,4 @@ import{_ as e,o as l,c as o,a as s,b as n,d as r,e as a,r as i}from"./app.e9adad
<span class="token comment">// getter/setter</span>
<span class="token punctuation">}</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u8FD9\u91CC\u5217\u4E00\u4E2A\u8868\u683C\u6765\u8BF4\u660E\u4E0D\u540C\u53D8\u91CF\u7684\u542B\u4E49</p><table><thead><tr><th style="text-align:right;">\u53D8\u91CF\u540D</th><th style="text-align:left;">\u53D8\u91CF\u89E3\u91CA</th></tr></thead><tbody><tr><td style="text-align:right;">loader</td><td style="text-align:left;">\u672C\u6B21\u8C03\u7528\u7C7B\u6240\u5728\u7684 ClassLoader</td></tr><tr><td style="text-align:right;">clazz</td><td style="text-align:left;">\u672C\u6B21\u8C03\u7528\u7C7B\u7684 Class \u5F15\u7528</td></tr><tr><td style="text-align:right;">method</td><td style="text-align:left;">\u672C\u6B21\u8C03\u7528\u65B9\u6CD5\u53CD\u5C04\u5F15\u7528</td></tr><tr><td style="text-align:right;">target</td><td style="text-align:left;">\u672C\u6B21\u8C03\u7528\u7C7B\u7684\u5B9E\u4F8B</td></tr><tr><td style="text-align:right;">params</td><td style="text-align:left;">\u672C\u6B21\u8C03\u7528\u53C2\u6570\u5217\u8868\uFF0C\u8FD9\u662F\u4E00\u4E2A\u6570\u7EC4\uFF0C\u5982\u679C\u65B9\u6CD5\u662F\u65E0\u53C2\u65B9\u6CD5\u5219\u4E3A\u7A7A\u6570\u7EC4</td></tr><tr><td style="text-align:right;">returnObj</td><td style="text-align:left;">\u672C\u6B21\u8C03\u7528\u8FD4\u56DE\u7684\u5BF9\u8C61\u3002\u5F53\u4E14\u4EC5\u5F53 <code>isReturn==true</code> \u6210\u7ACB\u65F6\u5019\u6709\u6548\uFF0C\u8868\u660E\u65B9\u6CD5\u8C03\u7528\u662F\u4EE5\u6B63\u5E38\u8FD4\u56DE\u7684\u65B9\u5F0F\u7ED3\u675F\u3002\u5982\u679C\u5F53\u524D\u65B9\u6CD5\u65E0\u8FD4\u56DE\u503C <code>void</code>\uFF0C\u5219\u503C\u4E3A null</td></tr><tr><td style="text-align:right;">throwExp</td><td style="text-align:left;">\u672C\u6B21\u8C03\u7528\u629B\u51FA\u7684\u5F02\u5E38\u3002\u5F53\u4E14\u4EC5\u5F53 <code>isThrow==true</code> \u6210\u7ACB\u65F6\u6709\u6548\uFF0C\u8868\u660E\u65B9\u6CD5\u8C03\u7528\u662F\u4EE5\u629B\u51FA\u5F02\u5E38\u7684\u65B9\u5F0F\u7ED3\u675F\u3002</td></tr><tr><td style="text-align:right;">isBefore</td><td style="text-align:left;">\u8F85\u52A9\u5224\u65AD\u6807\u8BB0\uFF0C\u5F53\u524D\u7684\u901A\u77E5\u8282\u70B9\u6709\u53EF\u80FD\u662F\u5728\u65B9\u6CD5\u4E00\u5F00\u59CB\u5C31\u901A\u77E5\uFF0C\u6B64\u65F6 <code>isBefore==true</code> \u6210\u7ACB\uFF0C\u540C\u65F6 <code>isThrow==false</code> \u548C <code>isReturn==false</code>\uFF0C\u56E0\u4E3A\u5728\u65B9\u6CD5\u521A\u5F00\u59CB\u65F6\uFF0C\u8FD8\u65E0\u6CD5\u786E\u5B9A\u65B9\u6CD5\u8C03\u7528\u5C06\u4F1A\u5982\u4F55\u7ED3\u675F\u3002</td></tr><tr><td style="text-align:right;">isThrow</td><td style="text-align:left;">\u8F85\u52A9\u5224\u65AD\u6807\u8BB0\uFF0C\u5F53\u524D\u7684\u65B9\u6CD5\u8C03\u7528\u4EE5\u629B\u5F02\u5E38\u7684\u5F62\u5F0F\u7ED3\u675F\u3002</td></tr><tr><td style="text-align:right;">isReturn</td><td style="text-align:left;">\u8F85\u52A9\u5224\u65AD\u6807\u8BB0\uFF0C\u5F53\u524D\u7684\u65B9\u6CD5\u8C03\u7528\u4EE5\u6B63\u5E38\u8FD4\u56DE\u7684\u5F62\u5F0F\u7ED3\u675F\u3002</td></tr></tbody></table><p>\u6240\u6709\u53D8\u91CF\u90FD\u53EF\u4EE5\u5728\u8868\u8FBE\u5F0F\u4E2D\u76F4\u63A5\u4F7F\u7528\uFF0C\u5982\u679C\u5728\u8868\u8FBE\u5F0F\u4E2D\u7F16\u5199\u4E86\u4E0D\u7B26\u5408 OGNL \u811A\u672C\u8BED\u6CD5\u6216\u8005\u5F15\u5165\u4E86\u4E0D\u5728\u8868\u683C\u4E2D\u7684\u53D8\u91CF\uFF0C\u5219\u9000\u51FA\u547D\u4EE4\u7684\u6267\u884C\uFF1B\u7528\u6237\u53EF\u4EE5\u6839\u636E\u5F53\u524D\u7684\u5F02\u5E38\u4FE1\u606F\u4FEE\u6B63<code>\u6761\u4EF6\u8868\u8FBE\u5F0F</code>\u6216<code>\u89C2\u5BDF\u8868\u8FBE\u5F0F</code></p>`,7),d=a("\u7279\u6B8A\u7528\u6CD5\u8BF7\u53C2\u8003\uFF1A"),k={href:"https://github.com/alibaba/arthas/issues/71",target:"_blank",rel:"noopener noreferrer"},u=a("https://github.com/alibaba/arthas/issues/71"),h=a("OGNL \u8868\u8FBE\u5F0F\u5B98\u7F51\uFF1A"),g={href:"https://commons.apache.org/proper/commons-ognl/language-guide.html",target:"_blank",rel:"noopener noreferrer"},v=a("https://commons.apache.org/proper/commons-ognl/language-guide.html");function m(y,b){const t=i("ExternalLinkIcon");return l(),o("div",null,[p,s("ul",null,[s("li",null,[d,s("a",k,[u,n(t)])]),s("li",null,[h,s("a",g,[v,n(t)])])])])}var w=e(c,[["render",m],["__file","advice-class.html.vue"]]);export{w as default};
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u8FD9\u91CC\u5217\u4E00\u4E2A\u8868\u683C\u6765\u8BF4\u660E\u4E0D\u540C\u53D8\u91CF\u7684\u542B\u4E49</p><table><thead><tr><th style="text-align:right;">\u53D8\u91CF\u540D</th><th style="text-align:left;">\u53D8\u91CF\u89E3\u91CA</th></tr></thead><tbody><tr><td style="text-align:right;">loader</td><td style="text-align:left;">\u672C\u6B21\u8C03\u7528\u7C7B\u6240\u5728\u7684 ClassLoader</td></tr><tr><td style="text-align:right;">clazz</td><td style="text-align:left;">\u672C\u6B21\u8C03\u7528\u7C7B\u7684 Class \u5F15\u7528</td></tr><tr><td style="text-align:right;">method</td><td style="text-align:left;">\u672C\u6B21\u8C03\u7528\u65B9\u6CD5\u53CD\u5C04\u5F15\u7528</td></tr><tr><td style="text-align:right;">target</td><td style="text-align:left;">\u672C\u6B21\u8C03\u7528\u7C7B\u7684\u5B9E\u4F8B</td></tr><tr><td style="text-align:right;">params</td><td style="text-align:left;">\u672C\u6B21\u8C03\u7528\u53C2\u6570\u5217\u8868\uFF0C\u8FD9\u662F\u4E00\u4E2A\u6570\u7EC4\uFF0C\u5982\u679C\u65B9\u6CD5\u662F\u65E0\u53C2\u65B9\u6CD5\u5219\u4E3A\u7A7A\u6570\u7EC4</td></tr><tr><td style="text-align:right;">returnObj</td><td style="text-align:left;">\u672C\u6B21\u8C03\u7528\u8FD4\u56DE\u7684\u5BF9\u8C61\u3002\u5F53\u4E14\u4EC5\u5F53 <code>isReturn==true</code> \u6210\u7ACB\u65F6\u5019\u6709\u6548\uFF0C\u8868\u660E\u65B9\u6CD5\u8C03\u7528\u662F\u4EE5\u6B63\u5E38\u8FD4\u56DE\u7684\u65B9\u5F0F\u7ED3\u675F\u3002\u5982\u679C\u5F53\u524D\u65B9\u6CD5\u65E0\u8FD4\u56DE\u503C <code>void</code>\uFF0C\u5219\u503C\u4E3A null</td></tr><tr><td style="text-align:right;">throwExp</td><td style="text-align:left;">\u672C\u6B21\u8C03\u7528\u629B\u51FA\u7684\u5F02\u5E38\u3002\u5F53\u4E14\u4EC5\u5F53 <code>isThrow==true</code> \u6210\u7ACB\u65F6\u6709\u6548\uFF0C\u8868\u660E\u65B9\u6CD5\u8C03\u7528\u662F\u4EE5\u629B\u51FA\u5F02\u5E38\u7684\u65B9\u5F0F\u7ED3\u675F\u3002</td></tr><tr><td style="text-align:right;">isBefore</td><td style="text-align:left;">\u8F85\u52A9\u5224\u65AD\u6807\u8BB0\uFF0C\u5F53\u524D\u7684\u901A\u77E5\u8282\u70B9\u6709\u53EF\u80FD\u662F\u5728\u65B9\u6CD5\u4E00\u5F00\u59CB\u5C31\u901A\u77E5\uFF0C\u6B64\u65F6 <code>isBefore==true</code> \u6210\u7ACB\uFF0C\u540C\u65F6 <code>isThrow==false</code> \u548C <code>isReturn==false</code>\uFF0C\u56E0\u4E3A\u5728\u65B9\u6CD5\u521A\u5F00\u59CB\u65F6\uFF0C\u8FD8\u65E0\u6CD5\u786E\u5B9A\u65B9\u6CD5\u8C03\u7528\u5C06\u4F1A\u5982\u4F55\u7ED3\u675F\u3002</td></tr><tr><td style="text-align:right;">isThrow</td><td style="text-align:left;">\u8F85\u52A9\u5224\u65AD\u6807\u8BB0\uFF0C\u5F53\u524D\u7684\u65B9\u6CD5\u8C03\u7528\u4EE5\u629B\u5F02\u5E38\u7684\u5F62\u5F0F\u7ED3\u675F\u3002</td></tr><tr><td style="text-align:right;">isReturn</td><td style="text-align:left;">\u8F85\u52A9\u5224\u65AD\u6807\u8BB0\uFF0C\u5F53\u524D\u7684\u65B9\u6CD5\u8C03\u7528\u4EE5\u6B63\u5E38\u8FD4\u56DE\u7684\u5F62\u5F0F\u7ED3\u675F\u3002</td></tr></tbody></table><p>\u6240\u6709\u53D8\u91CF\u90FD\u53EF\u4EE5\u5728\u8868\u8FBE\u5F0F\u4E2D\u76F4\u63A5\u4F7F\u7528\uFF0C\u5982\u679C\u5728\u8868\u8FBE\u5F0F\u4E2D\u7F16\u5199\u4E86\u4E0D\u7B26\u5408 OGNL \u811A\u672C\u8BED\u6CD5\u6216\u8005\u5F15\u5165\u4E86\u4E0D\u5728\u8868\u683C\u4E2D\u7684\u53D8\u91CF\uFF0C\u5219\u9000\u51FA\u547D\u4EE4\u7684\u6267\u884C\uFF1B\u7528\u6237\u53EF\u4EE5\u6839\u636E\u5F53\u524D\u7684\u5F02\u5E38\u4FE1\u606F\u4FEE\u6B63<code>\u6761\u4EF6\u8868\u8FBE\u5F0F</code>\u6216<code>\u89C2\u5BDF\u8868\u8FBE\u5F0F</code></p>`,7),d=a("\u7279\u6B8A\u7528\u6CD5\u8BF7\u53C2\u8003\uFF1A"),k={href:"https://github.com/alibaba/arthas/issues/71",target:"_blank",rel:"noopener noreferrer"},u=a("https://github.com/alibaba/arthas/issues/71"),h=a("OGNL \u8868\u8FBE\u5F0F\u5B98\u7F51\uFF1A"),g={href:"https://commons.apache.org/proper/commons-ognl/language-guide.html",target:"_blank",rel:"noopener noreferrer"},v=a("https://commons.apache.org/proper/commons-ognl/language-guide.html");function m(y,b){const t=i("ExternalLinkIcon");return l(),o("div",null,[p,s("ul",null,[s("li",null,[d,s("a",k,[u,n(t)])]),s("li",null,[h,s("a",g,[v,n(t)])])])])}const w=e(c,[["render",m],["__file","advice-class.html.vue"]]);export{w as default};
@@ -1,2 +1,2 @@
import{_ as s,o as r,c as n,a as e,b as o,w as c,d as i,e as a,r as d}from"./app.e9adadd6.js";const l={},h=i(`<h1 id="start-as-a-java-agent" tabindex="-1"><a class="header-anchor" href="#start-as-a-java-agent" aria-hidden="true">#</a> Start as a Java Agent</h1><p>Usually Arthas dynamic attach the applications on the fly, but from version <code>3.2.0</code> onwards, Arthas supports starting directly as a java agent.</p><p>For example, download the full arthas zip package, decompress it and start it by specifying <code>arthas-agent.jar</code> with the parameter <code>-javaagent</code>.</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>java -javaagent:/tmp/test/arthas-agent.jar -jar math-game.jar
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,4),p=a("The default configuration is in the "),m=e("code",null,"arthas.properties",-1),_=a(" file in the decompression directory. Reference: "),u=a("Arthas Properties"),g=e("p",null,"Reference: https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html",-1);function v(f,j){const t=d("RouterLink");return r(),n("div",null,[h,e("p",null,[p,m,_,o(t,{to:"/en/doc/arthas-properties.html"},{default:c(()=>[u]),_:1})]),g])}var y=s(l,[["render",v],["__file","agent.html.vue"]]);export{y as default};
import{_ as s,o as r,c as n,a as e,b as o,w as c,d as i,e as a,r as d}from"./app.a799ec6e.js";const l={},h=i(`<h1 id="start-as-a-java-agent" tabindex="-1"><a class="header-anchor" href="#start-as-a-java-agent" aria-hidden="true">#</a> Start as a Java Agent</h1><p>Usually Arthas dynamic attach the applications on the fly, but from version <code>3.2.0</code> onwards, Arthas supports starting directly as a java agent.</p><p>For example, download the full arthas zip package, decompress it and start it by specifying <code>arthas-agent.jar</code> with the parameter <code>-javaagent</code>.</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>java -javaagent:/tmp/test/arthas-agent.jar -jar math-game.jar
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,4),p=a("The default configuration is in the "),m=e("code",null,"arthas.properties",-1),_=a(" file in the decompression directory. Reference: "),u=a("Arthas Properties"),g=e("p",null,"Reference: https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html",-1);function v(f,j){const t=d("RouterLink");return r(),n("div",null,[h,e("p",null,[p,m,_,o(t,{to:"/en/doc/arthas-properties.html"},{default:c(()=>[u]),_:1})]),g])}const y=s(l,[["render",v],["__file","agent.html.vue"]]);export{y as default};
@@ -1,2 +1,2 @@
import{_ as s,o,c as n,a as e,b as r,w as c,d,e as a,r as i}from"./app.e9adadd6.js";const l={},h=d(`<h1 id="\u4EE5-java-agent-\u7684\u65B9\u5F0F\u542F\u52A8" tabindex="-1"><a class="header-anchor" href="#\u4EE5-java-agent-\u7684\u65B9\u5F0F\u542F\u52A8" aria-hidden="true">#</a> \u4EE5 Java Agent \u7684\u65B9\u5F0F\u542F\u52A8</h1><p>\u901A\u5E38 Arthas \u662F\u4EE5\u52A8\u6001 attach \u7684\u65B9\u5F0F\u6765\u8BCA\u65AD\u5E94\u7528\uFF0C\u4F46\u4ECE<code>3.2.0</code>\u7248\u672C\u8D77\uFF0CArthas \u652F\u6301\u76F4\u63A5\u4EE5 java agent \u7684\u65B9\u5F0F\u542F\u52A8\u3002</p><p>\u6BD4\u5982\u4E0B\u8F7D\u5168\u91CF\u7684 arthas zip \u5305\uFF0C\u89E3\u538B\u4E4B\u540E\u4EE5 <code>-javaagent</code> \u7684\u53C2\u6570\u6307\u5B9A<code>arthas-agent.jar</code>\u6765\u542F\u52A8\uFF1A</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>java -javaagent:/tmp/test/arthas-agent.jar -jar math-game.jar
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,4),_=a("\u9ED8\u8BA4\u7684\u914D\u7F6E\u9879\u5728\u89E3\u538B\u76EE\u5F55\u91CC\u7684"),p=e("code",null,"arthas.properties",-1),m=a("\u6587\u4EF6\u91CC\u3002\u53C2\u8003\uFF1A"),u=a("Arthas Properties"),v=e("p",null,"Java Agent \u673A\u5236\u53C2\u8003\uFF1A https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html",-1);function g(j,x){const t=i("RouterLink");return o(),n("div",null,[h,e("p",null,[_,p,m,r(t,{to:"/doc/arthas-properties.html"},{default:c(()=>[u]),_:1})]),v])}var b=s(l,[["render",g],["__file","agent.html.vue"]]);export{b as default};
import{_ as s,o,c as n,a as e,b as r,w as c,d,e as a,r as i}from"./app.a799ec6e.js";const l={},h=d(`<h1 id="\u4EE5-java-agent-\u7684\u65B9\u5F0F\u542F\u52A8" tabindex="-1"><a class="header-anchor" href="#\u4EE5-java-agent-\u7684\u65B9\u5F0F\u542F\u52A8" aria-hidden="true">#</a> \u4EE5 Java Agent \u7684\u65B9\u5F0F\u542F\u52A8</h1><p>\u901A\u5E38 Arthas \u662F\u4EE5\u52A8\u6001 attach \u7684\u65B9\u5F0F\u6765\u8BCA\u65AD\u5E94\u7528\uFF0C\u4F46\u4ECE<code>3.2.0</code>\u7248\u672C\u8D77\uFF0CArthas \u652F\u6301\u76F4\u63A5\u4EE5 java agent \u7684\u65B9\u5F0F\u542F\u52A8\u3002</p><p>\u6BD4\u5982\u4E0B\u8F7D\u5168\u91CF\u7684 arthas zip \u5305\uFF0C\u89E3\u538B\u4E4B\u540E\u4EE5 <code>-javaagent</code> \u7684\u53C2\u6570\u6307\u5B9A<code>arthas-agent.jar</code>\u6765\u542F\u52A8\uFF1A</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>java -javaagent:/tmp/test/arthas-agent.jar -jar math-game.jar
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,4),_=a("\u9ED8\u8BA4\u7684\u914D\u7F6E\u9879\u5728\u89E3\u538B\u76EE\u5F55\u91CC\u7684"),p=e("code",null,"arthas.properties",-1),m=a("\u6587\u4EF6\u91CC\u3002\u53C2\u8003\uFF1A"),u=a("Arthas Properties"),v=e("p",null,"Java Agent \u673A\u5236\u53C2\u8003\uFF1A https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html",-1);function g(j,x){const t=i("RouterLink");return o(),n("div",null,[h,e("p",null,[_,p,m,r(t,{to:"/doc/arthas-properties.html"},{default:c(()=>[u]),_:1})]),v])}const b=s(l,[["render",g],["__file","agent.html.vue"]]);export{b as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
var r="/images/arthas-output-recording.png";export{r as _};
@@ -0,0 +1 @@
const t="/images/arthas-output-recording.png";export{t as _};
+1
View File
@@ -0,0 +1 @@
const s="/images/arthas-output.jpg",t="/images/arthas-output-svg.jpg";export{s as _,t as a};
-1
View File
@@ -1 +0,0 @@
var a="/images/arthas-output.jpg",s="/images/arthas-output-svg.jpg";export{a as _,s as a};
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-5c517900","path":"/doc/arthas-properties.html","title":"Arthas Properties","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u652F\u6301\u7684\u914D\u7F6E\u9879","slug":"\u652F\u6301\u7684\u914D\u7F6E\u9879","children":[{"level":3,"title":"\u7981\u6B62\u6307\u5B9A\u547D\u4EE4","slug":"\u7981\u6B62\u6307\u5B9A\u547D\u4EE4","children":[]}]},{"level":2,"title":"\u914D\u7F6E\u7684\u4F18\u5148\u7EA7","slug":"\u914D\u7F6E\u7684\u4F18\u5148\u7EA7","children":[]}],"git":{"updatedTime":1658120060000,"contributors":[{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/arthas-properties.md","version":"3.6.5"}');export{e as data};
@@ -1,4 +1,4 @@
import{_ as e,o as t,c as a,d as i}from"./app.e9adadd6.js";const o={},r=i(`<h1 id="arthas-properties" tabindex="-1"><a class="header-anchor" href="#arthas-properties" aria-hidden="true">#</a> Arthas Properties</h1><p>The <code>arthas.properties</code> file is in the arthas directory.</p><ul><li>If it is automatically downloaded arthas, the directory is under <code>~/.arthas/lib/3.x.x/arthas/</code></li><li>If it is a downloaded complete package, under the decompression directory of arthas</li></ul><h2 id="supported-configuration-items" tabindex="-1"><a class="header-anchor" href="#supported-configuration-items" aria-hidden="true">#</a> Supported configuration items</h2><div class="custom-container warning"><p class="custom-container-title">WARNING</p><p>Note that the configuration must be <code>camel case</code>, which is different from the <code>-</code> style of spring boot. Only the spring boot application supports both <code>camel case</code> and <code>-</code> style configuration.</p></div><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>#arthas.config.overrideAll=true
import{_ as e,o as t,c as a,d as i}from"./app.a799ec6e.js";const o={},r=i(`<h1 id="arthas-properties" tabindex="-1"><a class="header-anchor" href="#arthas-properties" aria-hidden="true">#</a> Arthas Properties</h1><p>The <code>arthas.properties</code> file is in the arthas directory.</p><ul><li>If it is automatically downloaded arthas, the directory is under <code>~/.arthas/lib/3.x.x/arthas/</code></li><li>If it is a downloaded complete package, under the decompression directory of arthas</li></ul><h2 id="supported-configuration-items" tabindex="-1"><a class="header-anchor" href="#supported-configuration-items" aria-hidden="true">#</a> Supported configuration items</h2><div class="custom-container warning"><p class="custom-container-title">WARNING</p><p>Note that the configuration must be <code>camel case</code>, which is different from the <code>-</code> style of spring boot. Only the spring boot application supports both <code>camel case</code> and <code>-</code> style configuration.</p></div><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>#arthas.config.overrideAll=true
arthas.telnetPort=3658
arthas.httpPort=8563
arthas.ip=127.0.0.1
@@ -10,4 +10,4 @@ arthas.sessionTimeout=1800
#arthas.tunnelServer=ws://127.0.0.1:7777/ws
#arthas.agentId=mmmmmmyiddddd
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>If the configuration of <code>arthas.telnetPort</code> is -1, the telnet port will not be listened. <code>arthas.httpPort</code> is similar.</li><li>If you configure <code>arthas.telnetPort</code> to 0, then random listen telnet port, you can find the random port log in <code>~/logs/arthas/arthas.log</code>. <code>arthas.httpPort</code> is similar.</li></ul><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>If you want to prevent multiple arthas port conflicts on a machine. It can be configured as a random port, or configured as -1, and use arthas through the tunnel server.</p></div><h3 id="disable-specify-commands" tabindex="-1"><a class="header-anchor" href="#disable-specify-commands" aria-hidden="true">#</a> disable specify commands</h3><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>since 3.5.2</p></div><p>Such as configuration:</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>arthas.disabledCommands=stop,dump
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>It can also be configured on the command line: <code>--disabled-commands stop,dump</code>.</p><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>By default, arthas-spring-boot-starter will disable the <code>stop</code> command.</p></div><h2 id="configured-order" tabindex="-1"><a class="header-anchor" href="#configured-order" aria-hidden="true">#</a> Configured order</h2><p>The order of configuration is: command line parameters &gt; System Env &gt; System Properties &gt; arthas.properties.</p><p>such as:</p><ul><li><code>./as.sh --telnet-port 9999</code> command line configuration will overwrite the default value <code>arthas.telnetPort=3658</code> in <code>arthas.properties</code>.</li><li>If the application itself sets system properties <code>arthas.telnetPort=8888</code>, it will override the default value <code>arthas.telnetPort=3658</code> in <code>arthas.properties</code>.</li></ul><p>If you want <code>arthas.properties</code> to have the highest order, you can configure <code>arthas.config.overrideAll=true</code>.</p>`,19),s=[r];function d(n,c){return t(),a("div",null,s)}var h=e(o,[["render",d],["__file","arthas-properties.html.vue"]]);export{h as default};
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>It can also be configured on the command line: <code>--disabled-commands stop,dump</code>.</p><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>By default, arthas-spring-boot-starter will disable the <code>stop</code> command.</p></div><h2 id="configured-order" tabindex="-1"><a class="header-anchor" href="#configured-order" aria-hidden="true">#</a> Configured order</h2><p>The order of configuration is: command line parameters &gt; System Env &gt; System Properties &gt; arthas.properties.</p><p>such as:</p><ul><li><code>./as.sh --telnet-port 9999</code> command line configuration will overwrite the default value <code>arthas.telnetPort=3658</code> in <code>arthas.properties</code>.</li><li>If the application itself sets system properties <code>arthas.telnetPort=8888</code>, it will override the default value <code>arthas.telnetPort=3658</code> in <code>arthas.properties</code>.</li></ul><p>If you want <code>arthas.properties</code> to have the highest order, you can configure <code>arthas.config.overrideAll=true</code>.</p>`,19),s=[r];function n(d,c){return t(),a("div",null,s)}const h=e(o,[["render",n],["__file","arthas-properties.html.vue"]]);export{h as default};
@@ -1,4 +1,4 @@
import{_ as e,o as a,c as t,d as s}from"./app.e9adadd6.js";const r={},i=s(`<h1 id="arthas-properties" tabindex="-1"><a class="header-anchor" href="#arthas-properties" aria-hidden="true">#</a> Arthas Properties</h1><p><code>arthas.properties</code>\u6587\u4EF6\u5728 arthas \u7684\u76EE\u5F55\u4E0B\u3002</p><ul><li>\u5982\u679C\u662F\u81EA\u52A8\u4E0B\u8F7D\u7684 arthas\uFF0C\u5219\u76EE\u5F55\u5728<code>~/.arthas/lib/3.x.x/arthas/</code>\u4E0B\u9762</li><li>\u5982\u679C\u662F\u4E0B\u8F7D\u7684\u5B8C\u6574\u5305\uFF0C\u5728 arthas \u89E3\u538B\u76EE\u5F55\u4E0B</li></ul><h2 id="\u652F\u6301\u7684\u914D\u7F6E\u9879" tabindex="-1"><a class="header-anchor" href="#\u652F\u6301\u7684\u914D\u7F6E\u9879" aria-hidden="true">#</a> \u652F\u6301\u7684\u914D\u7F6E\u9879</h2><div class="custom-container warning"><p class="custom-container-title">\u6CE8\u610F</p><p>\u6CE8\u610F\u914D\u7F6E\u5FC5\u987B\u662F<code>\u9A7C\u5CF0</code>\u7684\uFF0C\u548C spring boot \u7684<code>-</code>\u98CE\u683C\u4E0D\u4E00\u6837\u3002spring boot \u5E94\u7528\u624D\u540C\u65F6\u652F\u6301<code>\u9A7C\u5CF0</code> \u548C <code>-</code>\u98CE\u683C\u7684\u914D\u7F6E\u3002</p></div><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>#arthas.config.overrideAll=true
import{_ as e,o as t,c as a,d as s}from"./app.a799ec6e.js";const r={},i=s(`<h1 id="arthas-properties" tabindex="-1"><a class="header-anchor" href="#arthas-properties" aria-hidden="true">#</a> Arthas Properties</h1><p><code>arthas.properties</code>\u6587\u4EF6\u5728 arthas \u7684\u76EE\u5F55\u4E0B\u3002</p><ul><li>\u5982\u679C\u662F\u81EA\u52A8\u4E0B\u8F7D\u7684 arthas\uFF0C\u5219\u76EE\u5F55\u5728<code>~/.arthas/lib/3.x.x/arthas/</code>\u4E0B\u9762</li><li>\u5982\u679C\u662F\u4E0B\u8F7D\u7684\u5B8C\u6574\u5305\uFF0C\u5728 arthas \u89E3\u538B\u76EE\u5F55\u4E0B</li></ul><h2 id="\u652F\u6301\u7684\u914D\u7F6E\u9879" tabindex="-1"><a class="header-anchor" href="#\u652F\u6301\u7684\u914D\u7F6E\u9879" aria-hidden="true">#</a> \u652F\u6301\u7684\u914D\u7F6E\u9879</h2><div class="custom-container warning"><p class="custom-container-title">\u6CE8\u610F</p><p>\u6CE8\u610F\u914D\u7F6E\u5FC5\u987B\u662F<code>\u9A7C\u5CF0</code>\u7684\uFF0C\u548C spring boot \u7684<code>-</code>\u98CE\u683C\u4E0D\u4E00\u6837\u3002spring boot \u5E94\u7528\u624D\u540C\u65F6\u652F\u6301<code>\u9A7C\u5CF0</code> \u548C <code>-</code>\u98CE\u683C\u7684\u914D\u7F6E\u3002</p></div><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>#arthas.config.overrideAll=true
arthas.telnetPort=3658
arthas.httpPort=8563
arthas.ip=127.0.0.1
@@ -10,4 +10,4 @@ arthas.sessionTimeout=1800
#arthas.tunnelServer=ws://127.0.0.1:7777/ws
#arthas.agentId=mmmmmmyiddddd
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>\u5982\u679C\u914D\u7F6E <code>arthas.telnetPort</code>\u4E3A -1 \uFF0C\u5219\u4E0D listen telnet \u7AEF\u53E3\u3002<code>arthas.httpPort</code>\u7C7B\u4F3C\u3002</li><li>\u5982\u679C\u914D\u7F6E <code>arthas.telnetPort</code>\u4E3A 0 \uFF0C\u5219\u968F\u673A telnet \u7AEF\u53E3\uFF0C\u5728<code>~/logs/arthas/arthas.log</code>\u91CC\u53EF\u4EE5\u627E\u5230\u5177\u4F53\u7AEF\u53E3\u65E5\u5FD7\u3002<code>arthas.httpPort</code>\u7C7B\u4F3C\u3002</li></ul><div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>\u5982\u679C\u662F\u9632\u6B62\u4E00\u4E2A\u673A\u5668\u4E0A\u542F\u52A8\u591A\u4E2A arthas \u7AEF\u53E3\u51B2\u7A81\u3002\u53EF\u4EE5\u914D\u7F6E\u4E3A\u968F\u673A\u7AEF\u53E3\uFF0C\u6216\u8005\u914D\u7F6E\u4E3A -1\uFF0C\u5E76\u4E14\u901A\u8FC7 tunnel server \u6765\u4F7F\u7528 arthas\u3002</p></div><h3 id="\u7981\u6B62\u6307\u5B9A\u547D\u4EE4" tabindex="-1"><a class="header-anchor" href="#\u7981\u6B62\u6307\u5B9A\u547D\u4EE4" aria-hidden="true">#</a> \u7981\u6B62\u6307\u5B9A\u547D\u4EE4</h3><div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>since 3.5.2</p></div><p>\u6BD4\u5982\u914D\u7F6E\uFF1A</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>arthas.disabledCommands=stop,dump
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>\u4E5F\u53EF\u4EE5\u5728\u547D\u4EE4\u884C\u914D\u7F6E\uFF1A <code>--disabled-commands stop,dump</code> \u3002</p><div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>\u9ED8\u8BA4\u60C5\u51B5\u4E0B\uFF0Carthas-spring-boot-starter \u4F1A\u7981\u6389<code>stop</code>\u547D\u4EE4\u3002</p></div><h2 id="\u914D\u7F6E\u7684\u4F18\u5148\u7EA7" tabindex="-1"><a class="header-anchor" href="#\u914D\u7F6E\u7684\u4F18\u5148\u7EA7" aria-hidden="true">#</a> \u914D\u7F6E\u7684\u4F18\u5148\u7EA7</h2><p>\u914D\u7F6E\u7684\u4F18\u5148\u7EA7\u662F\uFF1A\u547D\u4EE4\u884C\u53C2\u6570 &gt; System Env &gt; System Properties &gt; arthas.properties \u3002</p><p>\u6BD4\u5982\uFF1A</p><ul><li><code>./as.sh --telnet-port 9999</code> \u4F20\u5165\u7684\u914D\u7F6E\u4F1A\u8986\u76D6\u6389<code>arthas.properties</code>\u91CC\u7684\u9ED8\u8BA4\u503C<code>arthas.telnetPort=3658</code>\u3002</li><li>\u5982\u679C\u5E94\u7528\u81EA\u8EAB\u8BBE\u7F6E\u4E86 system properties <code>arthas.telnetPort=8888</code>\uFF0C\u5219\u4F1A\u8986\u76D6\u6389<code>arthas.properties</code>\u91CC\u7684\u9ED8\u8BA4\u503C<code>arthas.telnetPort=3658</code>\u3002</li></ul><p>\u5982\u679C\u60F3\u8981 <code>arthas.properties</code>\u7684\u4F18\u5148\u7EA7\u6700\u9AD8\uFF0C\u5219\u53EF\u4EE5\u914D\u7F6E <code>arthas.config.overrideAll=true</code> \u3002</p>`,19),d=[i];function o(n,c){return a(),t("div",null,d)}var p=e(r,[["render",o],["__file","arthas-properties.html.vue"]]);export{p as default};
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>\u4E5F\u53EF\u4EE5\u5728\u547D\u4EE4\u884C\u914D\u7F6E\uFF1A <code>--disabled-commands stop,dump</code> \u3002</p><div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>\u9ED8\u8BA4\u60C5\u51B5\u4E0B\uFF0Carthas-spring-boot-starter \u4F1A\u7981\u6389<code>stop</code>\u547D\u4EE4\u3002</p></div><h2 id="\u914D\u7F6E\u7684\u4F18\u5148\u7EA7" tabindex="-1"><a class="header-anchor" href="#\u914D\u7F6E\u7684\u4F18\u5148\u7EA7" aria-hidden="true">#</a> \u914D\u7F6E\u7684\u4F18\u5148\u7EA7</h2><p>\u914D\u7F6E\u7684\u4F18\u5148\u7EA7\u662F\uFF1A\u547D\u4EE4\u884C\u53C2\u6570 &gt; System Env &gt; System Properties &gt; arthas.properties \u3002</p><p>\u6BD4\u5982\uFF1A</p><ul><li><code>./as.sh --telnet-port 9999</code> \u4F20\u5165\u7684\u914D\u7F6E\u4F1A\u8986\u76D6\u6389<code>arthas.properties</code>\u91CC\u7684\u9ED8\u8BA4\u503C<code>arthas.telnetPort=3658</code>\u3002</li><li>\u5982\u679C\u5E94\u7528\u81EA\u8EAB\u8BBE\u7F6E\u4E86 system properties <code>arthas.telnetPort=8888</code>\uFF0C\u5219\u4F1A\u8986\u76D6\u6389<code>arthas.properties</code>\u91CC\u7684\u9ED8\u8BA4\u503C<code>arthas.telnetPort=3658</code>\u3002</li></ul><p>\u5982\u679C\u60F3\u8981 <code>arthas.properties</code>\u7684\u4F18\u5148\u7EA7\u6700\u9AD8\uFF0C\u5219\u53EF\u4EE5\u914D\u7F6E <code>arthas.config.overrideAll=true</code> \u3002</p>`,19),d=[i];function o(n,c){return t(),a("div",null,d)}const p=e(r,[["render",o],["__file","arthas-properties.html.vue"]]);export{p as default};
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-74fb2694","path":"/en/doc/arthas-properties.html","title":"Arthas Properties","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Supported configuration items","slug":"supported-configuration-items","link":"#supported-configuration-items","children":[{"level":3,"title":"disable specify commands","slug":"disable-specify-commands","link":"#disable-specify-commands","children":[]}]},{"level":2,"title":"Configured order","slug":"configured-order","link":"#configured-order","children":[]}],"git":{"updatedTime":1658120060000,"contributors":[{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/arthas-properties.md","version":"3.6.5"}');export{e as data};
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-74fb2694","path":"/en/doc/arthas-properties.html","title":"Arthas Properties","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Supported configuration items","slug":"supported-configuration-items","children":[{"level":3,"title":"disable specify commands","slug":"disable-specify-commands","children":[]}]},{"level":2,"title":"Configured order","slug":"configured-order","children":[]}],"git":{"updatedTime":1658120060000,"contributors":[{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/arthas-properties.md","version":"3.6.5"}');export{e as data};
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-5c517900","path":"/doc/arthas-properties.html","title":"Arthas Properties","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u652F\u6301\u7684\u914D\u7F6E\u9879","slug":"\u652F\u6301\u7684\u914D\u7F6E\u9879","link":"#\u652F\u6301\u7684\u914D\u7F6E\u9879","children":[{"level":3,"title":"\u7981\u6B62\u6307\u5B9A\u547D\u4EE4","slug":"\u7981\u6B62\u6307\u5B9A\u547D\u4EE4","link":"#\u7981\u6B62\u6307\u5B9A\u547D\u4EE4","children":[]}]},{"level":2,"title":"\u914D\u7F6E\u7684\u4F18\u5148\u7EA7","slug":"\u914D\u7F6E\u7684\u4F18\u5148\u7EA7","link":"#\u914D\u7F6E\u7684\u4F18\u5148\u7EA7","children":[]}],"git":{"updatedTime":1658120060000,"contributors":[{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/arthas-properties.md","version":"3.6.5"}');export{e as data};
+1
View File
@@ -0,0 +1 @@
const s="/images/arthas-web-ui.png";export{s as _};
-1
View File
@@ -1 +0,0 @@
var a="/images/arthas-web-ui.png";export{a as _};
+1
View File
@@ -0,0 +1 @@
const s="/images/arthas.png";export{s as _};
-1
View File
@@ -1 +0,0 @@
var a="/images/arthas.png";export{a as _};
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-02eb6d0d","path":"/doc/arthas3.html","title":"","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":3,"title":"Arthas3.0 \u7684\u65B0\u7279\u6027","slug":"arthas3-0-\u7684\u65B0\u7279\u6027","link":"#arthas3-0-\u7684\u65B0\u7279\u6027","children":[]},{"level":3,"title":"\u53BB groovy \u4F9D\u8D56","slug":"\u53BB-groovy-\u4F9D\u8D56","link":"#\u53BB-groovy-\u4F9D\u8D56","children":[]}],"git":{"updatedTime":1658120060000,"contributors":[{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/arthas3.md","version":"3.6.5"}');export{e as data};
@@ -1,4 +1,4 @@
import{_ as r,o as i,c as t,a as e,b as d,d as a,e as s,r as l}from"./app.e9adadd6.js";const o={},c=a(`<h3 id="arthas3-0-\u7684\u65B0\u7279\u6027" tabindex="-1"><a class="header-anchor" href="#arthas3-0-\u7684\u65B0\u7279\u6027" aria-hidden="true">#</a> Arthas3.0 \u7684\u65B0\u7279\u6027</h3><h4 id="\u5728\u7EBF\u8BCA\u65AD\u529F\u80FD" tabindex="-1"><a class="header-anchor" href="#\u5728\u7EBF\u8BCA\u65AD\u529F\u80FD" aria-hidden="true">#</a> \u5728\u7EBF\u8BCA\u65AD\u529F\u80FD</h4><p>Arthas3.0 \u4E2D\u6700\u91CD\u8981\u7684\u7279\u6027\uFF0C\u4E0D\u9700\u8981\u767B\u9646\u673A\u5668\u5C31\u53EF\u4EE5\u5BF9\u5E94\u7528\u8FDB\u884C\u8BCA\u65AD\uFF0C\u4F53\u9A8C\u548C\u672C\u5730\u8BCA\u65AD\u5B8C\u5168\u4E00\u81F4</p><h5 id="\u4F7F\u7528\u6B65\u9AA4" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528\u6B65\u9AA4" aria-hidden="true">#</a> \u4F7F\u7528\u6B65\u9AA4</h5><p>TODO</p><h5 id="\u52A8\u56FE\u6F14\u793A" tabindex="-1"><a class="header-anchor" href="#\u52A8\u56FE\u6F14\u793A" aria-hidden="true">#</a> \u52A8\u56FE\u6F14\u793A</h5><p>TODO</p><h4 id="\u7BA1\u9053\u652F\u6301" tabindex="-1"><a class="header-anchor" href="#\u7BA1\u9053\u652F\u6301" aria-hidden="true">#</a> \u7BA1\u9053\u652F\u6301</h4><p>Arthas 3.0 \u5F00\u59CB\u652F\u6301\u7BA1\u9053, \u7387\u5148\u63D0\u4F9B\u4E86<code>grep</code>,<code>wc</code>,<code>plaintext</code>\u7684\u652F\u6301\u3002</p><h3 id="\u53BB-groovy-\u4F9D\u8D56" tabindex="-1"><a class="header-anchor" href="#\u53BB-groovy-\u4F9D\u8D56" aria-hidden="true">#</a> \u53BB groovy \u4F9D\u8D56</h3><p>groovy \u8868\u8FBE\u5F0F\u5728 arthas2.0 \u4E2D\u5927\u91CF\u4F7F\u7528\uFF0C\u4F8B\u5982 watch \u8868\u8FBE\u5F0F</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">watch</span> com.alibaba.sample.petstore.web.store.module.screen.ItemList <span class="token function">add</span> <span class="token string">&quot;params + &#39; &#39; + returnObj&quot;</span> params.size<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">==</span><span class="token number">2</span>
import{_ as r,o as i,c as t,a as e,b as d,d as a,e as s,r as l}from"./app.a799ec6e.js";const o={},c=a(`<h3 id="arthas3-0-\u7684\u65B0\u7279\u6027" tabindex="-1"><a class="header-anchor" href="#arthas3-0-\u7684\u65B0\u7279\u6027" aria-hidden="true">#</a> Arthas3.0 \u7684\u65B0\u7279\u6027</h3><h4 id="\u5728\u7EBF\u8BCA\u65AD\u529F\u80FD" tabindex="-1"><a class="header-anchor" href="#\u5728\u7EBF\u8BCA\u65AD\u529F\u80FD" aria-hidden="true">#</a> \u5728\u7EBF\u8BCA\u65AD\u529F\u80FD</h4><p>Arthas3.0 \u4E2D\u6700\u91CD\u8981\u7684\u7279\u6027\uFF0C\u4E0D\u9700\u8981\u767B\u9646\u673A\u5668\u5C31\u53EF\u4EE5\u5BF9\u5E94\u7528\u8FDB\u884C\u8BCA\u65AD\uFF0C\u4F53\u9A8C\u548C\u672C\u5730\u8BCA\u65AD\u5B8C\u5168\u4E00\u81F4</p><h5 id="\u4F7F\u7528\u6B65\u9AA4" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528\u6B65\u9AA4" aria-hidden="true">#</a> \u4F7F\u7528\u6B65\u9AA4</h5><p>TODO</p><h5 id="\u52A8\u56FE\u6F14\u793A" tabindex="-1"><a class="header-anchor" href="#\u52A8\u56FE\u6F14\u793A" aria-hidden="true">#</a> \u52A8\u56FE\u6F14\u793A</h5><p>TODO</p><h4 id="\u7BA1\u9053\u652F\u6301" tabindex="-1"><a class="header-anchor" href="#\u7BA1\u9053\u652F\u6301" aria-hidden="true">#</a> \u7BA1\u9053\u652F\u6301</h4><p>Arthas 3.0 \u5F00\u59CB\u652F\u6301\u7BA1\u9053, \u7387\u5148\u63D0\u4F9B\u4E86<code>grep</code>,<code>wc</code>,<code>plaintext</code>\u7684\u652F\u6301\u3002</p><h3 id="\u53BB-groovy-\u4F9D\u8D56" tabindex="-1"><a class="header-anchor" href="#\u53BB-groovy-\u4F9D\u8D56" aria-hidden="true">#</a> \u53BB groovy \u4F9D\u8D56</h3><p>groovy \u8868\u8FBE\u5F0F\u5728 arthas2.0 \u4E2D\u5927\u91CF\u4F7F\u7528\uFF0C\u4F8B\u5982 watch \u8868\u8FBE\u5F0F</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">watch</span> com.alibaba.sample.petstore.web.store.module.screen.ItemList <span class="token function">add</span> <span class="token string">&quot;params + &#39; &#39; + returnObj&quot;</span> params.size<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">==</span><span class="token number">2</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>\u5176\u4E2D<code>&quot;params + &#39; &#39; + returnObj&quot;</code>\u4EE5\u53CA<code>params.size()==2</code>\u80CC\u540E\u5176\u5B9E\u90FD\u4F7F\u7528\u4E86 groovy \u6765\u8FDB\u884C\u8868\u8FBE\u5F0F\u6C42\u503C\uFF0C\u5982\u679C\u53CD\u590D\u5927\u91CF\u7684\u8FD0\u884C\u8FD9\u4E9B\u8868\u8FBE\u5F0F\uFF0Cgroovy \u4F1A\u521B\u5EFA\u5927\u91CF\u7684 classloader\uFF0C\u6253\u6EE1 perm \u533A\u4ECE\u800C\u89E6\u53D1 FGC\u3002</p><p>\u4E3A\u4E86\u907F\u514D\u8FD9\u4E2A\u95EE\u9898\uFF0CArthas 3.0 \u4E2D\u4F7F\u7528\u4E86 ognl \u8FD9\u4E2A\u66F4\u52A0\u8F7B\u91CF\u7684\u8868\u8FBE\u5F0F\u6C42\u503C\u5E93\u6765\u4EE3\u66FF groovy\uFF0C\u5F7B\u5E95\u89E3\u51B3\u4E86 groovy \u5F15\u8D77\u7684 FGC \u98CE\u9669\u3002\u4F46\u7531\u4E8E\u8FD9\u4E2A\u66FF\u6362\uFF0C\u5BFC\u81F4\u539F\u6765\u4F7F\u7528 groovy \u811A\u672C\u7F16\u5199\u7684\u81EA\u5B9A\u4E49\u811A\u672C\u5931\u6548\u3002\u8FD9\u4E2A\u95EE\u9898\u7559\u5F85\u540E\u7EED\u89E3\u51B3\u3002</p>`,14),v=s("\u5728 3.0 \u4E2D\uFF0Cwatch \u547D\u4EE4\u7684\u8868\u8FBE\u5F0F\u90E8\u5206\u7684\u4E66\u5199\u6709\u4E86\u4E00\u4E9B\u6539\u53D8\uFF0C\u8BE6\u89C1"),u={href:"https://arthas.aliyun.com/doc/watch",target:"_blank",rel:"noopener noreferrer"},m=s("\u8FD9\u91CC"),h=a(`<h4 id="\u63D0\u5347-rt-\u7EDF\u8BA1\u7CBE\u5EA6" tabindex="-1"><a class="header-anchor" href="#\u63D0\u5347-rt-\u7EDF\u8BA1\u7CBE\u5EA6" aria-hidden="true">#</a> \u63D0\u5347 rt \u7EDF\u8BA1\u7CBE\u5EA6</h4><p>Arthas 2.0 \u4E2D\uFF0C\u7EDF\u8BA1 rt \u90FD\u662F\u4EE5<code>ms</code>\u4E3A\u5355\u4F4D\uFF0C\u5BF9\u4E8E\u67D0\u4E9B\u6BD4\u8F83\u5C0F\u7684\u65B9\u6CD5\u8C03\u7528\uFF0C\u8017\u65F6\u5728\u6BEB\u79D2\u4EE5\u4E0B\u7684\u90FD\u4F1A\u88AB\u8BA4\u4E3A\u662F 0ms\uFF0C\u9020\u6210 trace \u603B\u65F6\u95F4\u548C\u5404\u65B9\u6CD5\u7684\u65F6\u95F4\u76F8\u52A0\u4E0D\u4E00\u81F4\u7B49\u95EE\u9898\uFF08\u867D\u7136\u8FD9\u91CC\u9762\u786E\u5B9E\u4F1A\u6709\u8BEF\u5DEE\uFF0C\u4E3B\u8981 Arthas \u81EA\u8EAB\u7684\u5F00\u9500\uFF09\u3002Arthas 3.0 \u4E2D\u6240\u6709 rt \u7684\u5355\u4F4D\u7EDF\u4E00\u6539\u4E3A\u4F7F\u7528<code>ns</code>\u6765\u7EDF\u8BA1\uFF0C\u7CBE\u51C6\u6355\u83B7\u4F60\u7684\u65B9\u6CD5\u8017\u65F6\uFF0C\u8BA9 0ms \u8FD9\u6837\u65E0\u610F\u4E49\u7684\u7EDF\u8BA1\u6570\u636E\u4E0D\u518D\u51FA\u73B0\uFF01</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>$ tt -l
INDEX TIMESTAMP COST(ms) IS-RET IS-EXP OBJECT CLASS METHOD
------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -46,4 +46,4 @@ ID NAME GROU
358 nioEventLoopGroup-3-4 system 10 RUNNABLE 2 0:0 false false
27 qos-boss-1-1 main 5 RUNNABLE 2 0:0 false true
22 EagleEye-AsyncAppender-Thread-BizLog main 5 TIMED_WAITING 1 0:0 false true
</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></div><h4 id="trace-\u547D\u4EE4\u81EA\u52A8\u9AD8\u4EAE\u663E\u793A\u6700\u8017\u65F6\u65B9\u6CD5\u8C03\u7528" tabindex="-1"><a class="header-anchor" href="#trace-\u547D\u4EE4\u81EA\u52A8\u9AD8\u4EAE\u663E\u793A\u6700\u8017\u65F6\u65B9\u6CD5\u8C03\u7528" aria-hidden="true">#</a> trace \u547D\u4EE4\u81EA\u52A8\u9AD8\u4EAE\u663E\u793A\u6700\u8017\u65F6\u65B9\u6CD5\u8C03\u7528</h4><p>trace \u547D\u4EE4\u73B0\u5728\u4F1A\u81EA\u52A8\u663E\u793A</p><p>![Untitled2](TODO /Untitled2.gif)</p>`,14);function p(b,T){const n=l("ExternalLinkIcon");return i(),t("div",null,[c,e("p",null,[v,e("a",u,[m,d(n)])]),h])}var E=r(o,[["render",p],["__file","arthas3.html.vue"]]);export{E as default};
</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></div><h4 id="trace-\u547D\u4EE4\u81EA\u52A8\u9AD8\u4EAE\u663E\u793A\u6700\u8017\u65F6\u65B9\u6CD5\u8C03\u7528" tabindex="-1"><a class="header-anchor" href="#trace-\u547D\u4EE4\u81EA\u52A8\u9AD8\u4EAE\u663E\u793A\u6700\u8017\u65F6\u65B9\u6CD5\u8C03\u7528" aria-hidden="true">#</a> trace \u547D\u4EE4\u81EA\u52A8\u9AD8\u4EAE\u663E\u793A\u6700\u8017\u65F6\u65B9\u6CD5\u8C03\u7528</h4><p>trace \u547D\u4EE4\u73B0\u5728\u4F1A\u81EA\u52A8\u663E\u793A</p><p>![Untitled2](TODO /Untitled2.gif)</p>`,14);function p(b,T){const n=l("ExternalLinkIcon");return i(),t("div",null,[c,e("p",null,[v,e("a",u,[m,d(n)])]),h])}const E=r(o,[["render",p],["__file","arthas3.html.vue"]]);export{E as default};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-02eb6d0d","path":"/doc/arthas3.html","title":"","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":3,"title":"Arthas3.0 \u7684\u65B0\u7279\u6027","slug":"arthas3-0-\u7684\u65B0\u7279\u6027","children":[]},{"level":3,"title":"\u53BB groovy \u4F9D\u8D56","slug":"\u53BB-groovy-\u4F9D\u8D56","children":[]}],"git":{"updatedTime":1658120060000,"contributors":[{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/arthas3.md","version":"3.6.5"}');export{e as data};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-786f7161","path":"/en/doc/async.html","title":"Arthas Async Jobs","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"1. Use & to run the command in the background","slug":"_1-use-to-run-the-command-in-the-background","children":[]},{"level":2,"title":"2. List background jobs","slug":"_2-list-background-jobs","children":[]},{"level":2,"title":"3. Suspend and cancel job","slug":"_3-suspend-and-cancel-job","children":[]},{"level":2,"title":"4. fg/bg, switch the job from the foreground to the background, and vise verse","slug":"_4-fg-bg-switch-the-job-from-the-foreground-to-the-background-and-vise-verse","children":[]},{"level":2,"title":"5. Redirect the output","slug":"_5-redirect-the-output","children":[]},{"level":2,"title":"6. Stop job","slug":"_6-stop-job","children":[]},{"level":2,"title":"7. Others","slug":"_7-others","children":[]}],"git":{"updatedTime":1658120060000,"contributors":[{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/async.md","version":"3.6.5"}');export{e as data};
+1
View File
@@ -0,0 +1 @@
const l=JSON.parse('{"key":"v-4f82df66","path":"/doc/async.html","title":"Arthas \u540E\u53F0\u5F02\u6B65\u4EFB\u52A1","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"1. \u4F7F\u7528&\u5728\u540E\u53F0\u6267\u884C\u4EFB\u52A1","slug":"_1-\u4F7F\u7528-\u5728\u540E\u53F0\u6267\u884C\u4EFB\u52A1","link":"#_1-\u4F7F\u7528-\u5728\u540E\u53F0\u6267\u884C\u4EFB\u52A1","children":[]},{"level":2,"title":"2. \u901A\u8FC7 jobs \u67E5\u770B\u4EFB\u52A1","slug":"_2-\u901A\u8FC7-jobs-\u67E5\u770B\u4EFB\u52A1","link":"#_2-\u901A\u8FC7-jobs-\u67E5\u770B\u4EFB\u52A1","children":[]},{"level":2,"title":"3. \u4EFB\u52A1\u6682\u505C\u548C\u53D6\u6D88","slug":"_3-\u4EFB\u52A1\u6682\u505C\u548C\u53D6\u6D88","link":"#_3-\u4EFB\u52A1\u6682\u505C\u548C\u53D6\u6D88","children":[]},{"level":2,"title":"4. fg\u3001bg \u547D\u4EE4\uFF0C\u5C06\u547D\u4EE4\u8F6C\u5230\u524D\u53F0\u3001\u540E\u53F0\u7EE7\u7EED\u6267\u884C","slug":"_4-fg\u3001bg-\u547D\u4EE4-\u5C06\u547D\u4EE4\u8F6C\u5230\u524D\u53F0\u3001\u540E\u53F0\u7EE7\u7EED\u6267\u884C","link":"#_4-fg\u3001bg-\u547D\u4EE4-\u5C06\u547D\u4EE4\u8F6C\u5230\u524D\u53F0\u3001\u540E\u53F0\u7EE7\u7EED\u6267\u884C","children":[]},{"level":2,"title":"5. \u4EFB\u52A1\u8F93\u51FA\u91CD\u5B9A\u5411","slug":"_5-\u4EFB\u52A1\u8F93\u51FA\u91CD\u5B9A\u5411","link":"#_5-\u4EFB\u52A1\u8F93\u51FA\u91CD\u5B9A\u5411","children":[]},{"level":2,"title":"6. \u505C\u6B62\u547D\u4EE4","slug":"_6-\u505C\u6B62\u547D\u4EE4","link":"#_6-\u505C\u6B62\u547D\u4EE4","children":[]},{"level":2,"title":"7. \u5176\u4ED6","slug":"_7-\u5176\u4ED6","link":"#_7-\u5176\u4ED6","children":[]}],"git":{"updatedTime":1658120060000,"contributors":[{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/async.md","version":"3.6.5"}');export{l as data};
@@ -1,7 +1,7 @@
import{_ as o,o as s,c,a as e,b as a,e as t,d as i,r}from"./app.e9adadd6.js";const d={},l=e("h1",{id:"arthas-async-jobs",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#arthas-async-jobs","aria-hidden":"true"},"#"),t(" Arthas Async Jobs")],-1),u={href:"https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=case-async-jobs",target:"_blank",rel:"noopener noreferrer"},h=e("code",null,"Async Jobs",-1),p=t(" online tutorial"),b=t("Asynchronous jobs in arthas. The idea is borrowed from "),m={href:"http://man7.org/linux/man-pages/man1/jobs.1p.html",target:"_blank",rel:"noopener noreferrer"},g=t("linux jobs"),f=t("."),v=i(`<h2 id="_1-use-to-run-the-command-in-the-background" tabindex="-1"><a class="header-anchor" href="#_1-use-to-run-the-command-in-the-background" aria-hidden="true">#</a> 1. Use &amp; to run the command in the background</h2><p>For example, execute the trace command in the background:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>trace Test t <span class="token operator">&amp;</span>
import{_ as o,o as s,c,a as e,b as a,e as t,d as i,r}from"./app.a799ec6e.js";const d={},l=e("h1",{id:"arthas-async-jobs",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#arthas-async-jobs","aria-hidden":"true"},"#"),t(" Arthas Async Jobs")],-1),u={href:"https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=case-async-jobs",target:"_blank",rel:"noopener noreferrer"},h=e("code",null,"Async Jobs",-1),p=t(" online tutorial"),b=t("Asynchronous jobs in arthas. The idea is borrowed from "),m={href:"http://man7.org/linux/man-pages/man1/jobs.1p.html",target:"_blank",rel:"noopener noreferrer"},g=t("linux jobs"),f=t("."),v=i(`<h2 id="_1-use-to-run-the-command-in-the-background" tabindex="-1"><a class="header-anchor" href="#_1-use-to-run-the-command-in-the-background" aria-hidden="true">#</a> 1. Use &amp; to run the command in the background</h2><p>For example, execute the trace command in the background:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>trace Test t <span class="token operator">&amp;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>By doing this, the current command is put to the background to run, you can continue to execute other commands in the console.</p><h2 id="_2-list-background-jobs" tabindex="-1"><a class="header-anchor" href="#_2-list-background-jobs" aria-hidden="true">#</a> 2. List background jobs</h2><p>If you want to list all background jobs, you can execute the <code>jobs</code> command and the results are as follows:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">jobs</span>
<span class="token punctuation">[</span><span class="token number">10</span><span class="token punctuation">]</span>*
Stopped <span class="token function">watch</span> com.taobao.container.Test <span class="token builtin class-name">test</span> <span class="token string">&quot;params[0].{? #this.name == null }&quot;</span> -x <span class="token number">2</span>
Stopped <span class="token function">watch</span> com.taobao.container.Test <span class="token builtin class-name">test</span> <span class="token string">&quot;params[0].{? #this.name == null }&quot;</span> <span class="token parameter variable">-x</span> <span class="token number">2</span>
execution count <span class="token builtin class-name">:</span> <span class="token number">19</span>
start <span class="token function">time</span> <span class="token builtin class-name">:</span> Fri Sep <span class="token number">22</span> 09:59:55 CST <span class="token number">2017</span>
<span class="token function">timeout</span> <span class="token function">date</span> <span class="token builtin class-name">:</span> Sat Sep <span class="token number">23</span> 09:59:55 CST <span class="token number">2017</span>
@@ -10,4 +10,4 @@ import{_ as o,o as s,c,a as e,b as a,e as t,d as i,r}from"./app.e9adadd6.js";con
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>The trace command will be running in the background and the output will be redirect to <code>~/logs/arthas-cache/test.out</code>. You can continue to execute other commands in the console, at the same time, you can also examine the execution result from the output file.</p><p>When connected to a remote Arthas server, you may not be able to view the output file on the remote machine. In this case, Arthas also supports automatically redirecting the output to the local cache file. Examples are as follows:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ trace Test t <span class="token operator">&gt;&gt;</span> <span class="token operator">&amp;</span>
job <span class="token function">id</span> <span class="token builtin class-name">:</span> <span class="token number">2</span>
cache location <span class="token builtin class-name">:</span> /Users/gehui/logs/arthas-cache/28198/2
</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>If output path is not given, Arthas will automatically redirect the output to the local cache. Job id and cache location will be shown on the console. Cache location is a directory where the output files are put. For one given job, the path of its output file contains PID and job id in order to avoid potential conflict with other jobs. In the above example, pid is <code>28198</code> and job id is <code>2</code>.</p><h2 id="_6-stop-job" tabindex="-1"><a class="header-anchor" href="#_6-stop-job" aria-hidden="true">#</a> 6. Stop job</h2><p>If you want to stop background job, just <code>kill &lt;job-id&gt;</code>.</p><h2 id="_7-others" tabindex="-1"><a class="header-anchor" href="#_7-others" aria-hidden="true">#</a> 7. Others</h2><ul><li>Support up to 8 commands at the same time to redirect the output to the log files.</li><li>Do not open too many background jobs at the same time to avoid negative performance effect to the target JVM.</li><li>If you do not want to stop the Arthas service and continue to perform background tasks, you can exit the Arthas console by executing <code>quit</code> command (<code>stop</code> command will stop the Arthas service)</li></ul>`,25);function k(j,x){const n=r("ExternalLinkIcon");return s(),c("div",null,[l,e("p",null,[e("a",u,[h,p,a(n)])]),e("p",null,[b,e("a",m,[g,a(n)]),f]),v])}var y=o(d,[["render",k],["__file","async.html.vue"]]);export{y as default};
</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>If output path is not given, Arthas will automatically redirect the output to the local cache. Job id and cache location will be shown on the console. Cache location is a directory where the output files are put. For one given job, the path of its output file contains PID and job id in order to avoid potential conflict with other jobs. In the above example, pid is <code>28198</code> and job id is <code>2</code>.</p><h2 id="_6-stop-job" tabindex="-1"><a class="header-anchor" href="#_6-stop-job" aria-hidden="true">#</a> 6. Stop job</h2><p>If you want to stop background job, just <code>kill &lt;job-id&gt;</code>.</p><h2 id="_7-others" tabindex="-1"><a class="header-anchor" href="#_7-others" aria-hidden="true">#</a> 7. Others</h2><ul><li>Support up to 8 commands at the same time to redirect the output to the log files.</li><li>Do not open too many background jobs at the same time to avoid negative performance effect to the target JVM.</li><li>If you do not want to stop the Arthas service and continue to perform background tasks, you can exit the Arthas console by executing <code>quit</code> command (<code>stop</code> command will stop the Arthas service)</li></ul>`,25);function k(j,x){const n=r("ExternalLinkIcon");return s(),c("div",null,[l,e("p",null,[e("a",u,[h,p,a(n)])]),e("p",null,[b,e("a",m,[g,a(n)]),f]),v])}const y=o(d,[["render",k],["__file","async.html.vue"]]);export{y as default};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-4f82df66","path":"/doc/async.html","title":"Arthas \u540E\u53F0\u5F02\u6B65\u4EFB\u52A1","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"1. \u4F7F\u7528&\u5728\u540E\u53F0\u6267\u884C\u4EFB\u52A1","slug":"_1-\u4F7F\u7528-\u5728\u540E\u53F0\u6267\u884C\u4EFB\u52A1","children":[]},{"level":2,"title":"2. \u901A\u8FC7 jobs \u67E5\u770B\u4EFB\u52A1","slug":"_2-\u901A\u8FC7-jobs-\u67E5\u770B\u4EFB\u52A1","children":[]},{"level":2,"title":"3. \u4EFB\u52A1\u6682\u505C\u548C\u53D6\u6D88","slug":"_3-\u4EFB\u52A1\u6682\u505C\u548C\u53D6\u6D88","children":[]},{"level":2,"title":"4. fg\u3001bg \u547D\u4EE4\uFF0C\u5C06\u547D\u4EE4\u8F6C\u5230\u524D\u53F0\u3001\u540E\u53F0\u7EE7\u7EED\u6267\u884C","slug":"_4-fg\u3001bg-\u547D\u4EE4-\u5C06\u547D\u4EE4\u8F6C\u5230\u524D\u53F0\u3001\u540E\u53F0\u7EE7\u7EED\u6267\u884C","children":[]},{"level":2,"title":"5. \u4EFB\u52A1\u8F93\u51FA\u91CD\u5B9A\u5411","slug":"_5-\u4EFB\u52A1\u8F93\u51FA\u91CD\u5B9A\u5411","children":[]},{"level":2,"title":"6. \u505C\u6B62\u547D\u4EE4","slug":"_6-\u505C\u6B62\u547D\u4EE4","children":[]},{"level":2,"title":"7. \u5176\u4ED6","slug":"_7-\u5176\u4ED6","children":[]}],"git":{"updatedTime":1658120060000,"contributors":[{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/async.md","version":"3.6.5"}');export{e as data};
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-786f7161","path":"/en/doc/async.html","title":"Arthas Async Jobs","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"1. Use & to run the command in the background","slug":"_1-use-to-run-the-command-in-the-background","link":"#_1-use-to-run-the-command-in-the-background","children":[]},{"level":2,"title":"2. List background jobs","slug":"_2-list-background-jobs","link":"#_2-list-background-jobs","children":[]},{"level":2,"title":"3. Suspend and cancel job","slug":"_3-suspend-and-cancel-job","link":"#_3-suspend-and-cancel-job","children":[]},{"level":2,"title":"4. fg/bg, switch the job from the foreground to the background, and vise verse","slug":"_4-fg-bg-switch-the-job-from-the-foreground-to-the-background-and-vise-verse","link":"#_4-fg-bg-switch-the-job-from-the-foreground-to-the-background-and-vise-verse","children":[]},{"level":2,"title":"5. Redirect the output","slug":"_5-redirect-the-output","link":"#_5-redirect-the-output","children":[]},{"level":2,"title":"6. Stop job","slug":"_6-stop-job","link":"#_6-stop-job","children":[]},{"level":2,"title":"7. Others","slug":"_7-others","link":"#_7-others","children":[]}],"git":{"updatedTime":1658120060000,"contributors":[{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/async.md","version":"3.6.5"}');export{e as data};
@@ -1,7 +1,7 @@
import{_ as t,o,c,a,b as n,e,d as i,r as l}from"./app.e9adadd6.js";const d={},r=a("h1",{id:"arthas-\u540E\u53F0\u5F02\u6B65\u4EFB\u52A1",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#arthas-\u540E\u53F0\u5F02\u6B65\u4EFB\u52A1","aria-hidden":"true"},"#"),e(" Arthas \u540E\u53F0\u5F02\u6B65\u4EFB\u52A1")],-1),p={href:"https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=case-async-jobs",target:"_blank",rel:"noopener noreferrer"},h=a("code",null,"\u540E\u53F0\u5F02\u6B65\u4EFB\u52A1",-1),u=e("\u5728\u7EBF\u6559\u7A0B"),b=e("arthas \u4E2D\u7684\u540E\u53F0\u5F02\u6B65\u4EFB\u52A1\uFF0C\u4F7F\u7528\u4E86\u4EFF linux \u7CFB\u7EDF\u4EFB\u52A1\u76F8\u5173\u7684\u547D\u4EE4\u3002"),m={href:"https://ehlxr.me/2017/01/18/Linux-%E4%B8%AD-fg%E3%80%81bg%E3%80%81jobs%E3%80%81-%E6%8C%87%E4%BB%A4/",target:"_blank",rel:"noopener noreferrer"},g=e("linux \u4EFB\u52A1\u76F8\u5173\u4ECB\u7ECD"),_=e("\u3002"),v=i(`<h2 id="_1-\u4F7F\u7528-\u5728\u540E\u53F0\u6267\u884C\u4EFB\u52A1" tabindex="-1"><a class="header-anchor" href="#_1-\u4F7F\u7528-\u5728\u540E\u53F0\u6267\u884C\u4EFB\u52A1" aria-hidden="true">#</a> 1. \u4F7F\u7528&amp;\u5728\u540E\u53F0\u6267\u884C\u4EFB\u52A1</h2><p>\u6BD4\u5982\u5E0C\u671B\u6267\u884C\u540E\u53F0\u6267\u884C trace \u547D\u4EE4\uFF0C\u90A3\u4E48\u8C03\u7528\u4E0B\u9762\u547D\u4EE4</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>trace Test t <span class="token operator">&amp;</span>
import{_ as t,o,c,a,b as n,e,d as i,r as l}from"./app.a799ec6e.js";const d={},r=a("h1",{id:"arthas-\u540E\u53F0\u5F02\u6B65\u4EFB\u52A1",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#arthas-\u540E\u53F0\u5F02\u6B65\u4EFB\u52A1","aria-hidden":"true"},"#"),e(" Arthas \u540E\u53F0\u5F02\u6B65\u4EFB\u52A1")],-1),p={href:"https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=case-async-jobs",target:"_blank",rel:"noopener noreferrer"},h=a("code",null,"\u540E\u53F0\u5F02\u6B65\u4EFB\u52A1",-1),u=e("\u5728\u7EBF\u6559\u7A0B"),b=e("arthas \u4E2D\u7684\u540E\u53F0\u5F02\u6B65\u4EFB\u52A1\uFF0C\u4F7F\u7528\u4E86\u4EFF linux \u7CFB\u7EDF\u4EFB\u52A1\u76F8\u5173\u7684\u547D\u4EE4\u3002"),m={href:"https://ehlxr.me/2017/01/18/Linux-%E4%B8%AD-fg%E3%80%81bg%E3%80%81jobs%E3%80%81-%E6%8C%87%E4%BB%A4/",target:"_blank",rel:"noopener noreferrer"},g=e("linux \u4EFB\u52A1\u76F8\u5173\u4ECB\u7ECD"),_=e("\u3002"),v=i(`<h2 id="_1-\u4F7F\u7528-\u5728\u540E\u53F0\u6267\u884C\u4EFB\u52A1" tabindex="-1"><a class="header-anchor" href="#_1-\u4F7F\u7528-\u5728\u540E\u53F0\u6267\u884C\u4EFB\u52A1" aria-hidden="true">#</a> 1. \u4F7F\u7528&amp;\u5728\u540E\u53F0\u6267\u884C\u4EFB\u52A1</h2><p>\u6BD4\u5982\u5E0C\u671B\u6267\u884C\u540E\u53F0\u6267\u884C trace \u547D\u4EE4\uFF0C\u90A3\u4E48\u8C03\u7528\u4E0B\u9762\u547D\u4EE4</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>trace Test t <span class="token operator">&amp;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>\u8FD9\u65F6\u547D\u4EE4\u5728\u540E\u53F0\u6267\u884C\uFF0C\u53EF\u4EE5\u5728 console \u4E2D\u7EE7\u7EED\u6267\u884C\u5176\u4ED6\u547D\u4EE4\u3002</p><h2 id="_2-\u901A\u8FC7-jobs-\u67E5\u770B\u4EFB\u52A1" tabindex="-1"><a class="header-anchor" href="#_2-\u901A\u8FC7-jobs-\u67E5\u770B\u4EFB\u52A1" aria-hidden="true">#</a> 2. \u901A\u8FC7 jobs \u67E5\u770B\u4EFB\u52A1</h2><p>\u5982\u679C\u5E0C\u671B\u67E5\u770B\u5F53\u524D\u6709\u54EA\u4E9B arthas \u4EFB\u52A1\u5728\u6267\u884C\uFF0C\u53EF\u4EE5\u6267\u884C jobs \u547D\u4EE4\uFF0C\u6267\u884C\u7ED3\u679C\u5982\u4E0B</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">jobs</span>
<span class="token punctuation">[</span><span class="token number">10</span><span class="token punctuation">]</span>*
Stopped <span class="token function">watch</span> com.taobao.container.Test <span class="token builtin class-name">test</span> <span class="token string">&quot;params[0].{? #this.name == null }&quot;</span> -x <span class="token number">2</span>
Stopped <span class="token function">watch</span> com.taobao.container.Test <span class="token builtin class-name">test</span> <span class="token string">&quot;params[0].{? #this.name == null }&quot;</span> <span class="token parameter variable">-x</span> <span class="token number">2</span>
execution count <span class="token builtin class-name">:</span> <span class="token number">19</span>
start <span class="token function">time</span> <span class="token builtin class-name">:</span> Fri Sep <span class="token number">22</span> 09:59:55 CST <span class="token number">2017</span>
<span class="token function">timeout</span> <span class="token function">date</span> <span class="token builtin class-name">:</span> Sat Sep <span class="token number">23</span> 09:59:55 CST <span class="token number">2017</span>
@@ -10,4 +10,4 @@ import{_ as t,o,c,a,b as n,e,d as i,r as l}from"./app.e9adadd6.js";const d={},r=
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>\u8FD9\u65F6 trace \u547D\u4EE4\u4F1A\u5728\u540E\u53F0\u6267\u884C\uFF0C\u5E76\u4E14\u628A\u7ED3\u679C\u8F93\u51FA\u5230~/logs/arthas-cache/test.out\u3002\u53EF\u7EE7\u7EED\u6267\u884C\u5176\u4ED6\u547D\u4EE4\u3002\u5E76\u53EF\u67E5\u770B\u6587\u4EF6\u4E2D\u7684\u547D\u4EE4\u6267\u884C\u7ED3\u679C\u3002</p><p>\u5F53\u8FDE\u63A5\u5230\u8FDC\u7A0B\u7684 arthas server \u65F6\uFF0C\u53EF\u80FD\u65E0\u6CD5\u67E5\u770B\u8FDC\u7A0B\u673A\u5668\u7684\u6587\u4EF6\uFF0Carthas \u540C\u65F6\u652F\u6301\u4E86\u81EA\u52A8\u91CD\u5B9A\u5411\u5230\u672C\u5730\u7F13\u5B58\u8DEF\u5F84\u3002\u4F7F\u7528\u65B9\u6CD5\u5982\u4E0B\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ trace Test t <span class="token operator">&gt;&gt;</span> <span class="token operator">&amp;</span>
job <span class="token function">id</span> <span class="token builtin class-name">:</span> <span class="token number">2</span>
cache location <span class="token builtin class-name">:</span> /Users/gehui/logs/arthas-cache/28198/2
</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>\u53EF\u4EE5\u770B\u5230\u5E76\u6CA1\u6709\u6307\u5B9A\u91CD\u5B9A\u5411\u6587\u4EF6\u4F4D\u7F6E\uFF0Carthas \u81EA\u52A8\u91CD\u5B9A\u5411\u5230\u7F13\u5B58\u4E2D\u4E86\uFF0C\u6267\u884C\u547D\u4EE4\u540E\u4F1A\u8F93\u51FA job id \u548C cache location\u3002cache location \u5C31\u662F\u91CD\u5B9A\u5411\u6587\u4EF6\u7684\u8DEF\u5F84\uFF0C\u5728\u7CFB\u7EDF logs \u76EE\u5F55\u4E0B\uFF0C\u8DEF\u5F84\u5305\u62EC pid \u548C job id\uFF0C\u907F\u514D\u548C\u5176\u4ED6\u4EFB\u52A1\u51B2\u7A81\u3002\u547D\u4EE4\u8F93\u51FA\u7ED3\u679C\u5230<code>/Users/gehui/logs/arthas-cache/28198/2</code>\u4E2D\uFF0Cjob id \u4E3A 2\u3002</p><h2 id="_6-\u505C\u6B62\u547D\u4EE4" tabindex="-1"><a class="header-anchor" href="#_6-\u505C\u6B62\u547D\u4EE4" aria-hidden="true">#</a> 6. \u505C\u6B62\u547D\u4EE4</h2><p>\u5F02\u6B65\u6267\u884C\u7684\u547D\u4EE4\uFF0C\u5982\u679C\u5E0C\u671B\u505C\u6B62\uFF0C\u53EF\u6267\u884C<code>kill &lt;job-id&gt;</code></p><h2 id="_7-\u5176\u4ED6" tabindex="-1"><a class="header-anchor" href="#_7-\u5176\u4ED6" aria-hidden="true">#</a> 7. \u5176\u4ED6</h2><ul><li>\u6700\u591A\u540C\u65F6\u652F\u6301 8 \u4E2A\u547D\u4EE4\u4F7F\u7528\u91CD\u5B9A\u5411\u5C06\u7ED3\u679C\u5199\u65E5\u5FD7</li><li>\u8BF7\u52FF\u540C\u65F6\u5F00\u542F\u8FC7\u591A\u7684\u540E\u53F0\u5F02\u6B65\u547D\u4EE4\uFF0C\u4EE5\u514D\u5BF9\u76EE\u6807 JVM \u6027\u80FD\u9020\u6210\u5F71\u54CD</li><li>\u5982\u679C\u4E0D\u60F3\u505C\u6B62 arthas\uFF0C\u7EE7\u7EED\u6267\u884C\u540E\u53F0\u4EFB\u52A1\uFF0C\u53EF\u4EE5\u6267\u884C <code>quit</code> \u9000\u51FA arthas \u63A7\u5236\u53F0\uFF08<code>stop</code> \u4F1A\u505C\u6B62 arthas \u670D\u52A1\uFF09</li></ul>`,25);function k(f,x){const s=l("ExternalLinkIcon");return o(),c("div",null,[r,a("p",null,[a("a",p,[h,u,n(s)])]),a("p",null,[b,a("a",m,[g,n(s)]),_]),v])}var E=t(d,[["render",k],["__file","async.html.vue"]]);export{E as default};
</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>\u53EF\u4EE5\u770B\u5230\u5E76\u6CA1\u6709\u6307\u5B9A\u91CD\u5B9A\u5411\u6587\u4EF6\u4F4D\u7F6E\uFF0Carthas \u81EA\u52A8\u91CD\u5B9A\u5411\u5230\u7F13\u5B58\u4E2D\u4E86\uFF0C\u6267\u884C\u547D\u4EE4\u540E\u4F1A\u8F93\u51FA job id \u548C cache location\u3002cache location \u5C31\u662F\u91CD\u5B9A\u5411\u6587\u4EF6\u7684\u8DEF\u5F84\uFF0C\u5728\u7CFB\u7EDF logs \u76EE\u5F55\u4E0B\uFF0C\u8DEF\u5F84\u5305\u62EC pid \u548C job id\uFF0C\u907F\u514D\u548C\u5176\u4ED6\u4EFB\u52A1\u51B2\u7A81\u3002\u547D\u4EE4\u8F93\u51FA\u7ED3\u679C\u5230<code>/Users/gehui/logs/arthas-cache/28198/2</code>\u4E2D\uFF0Cjob id \u4E3A 2\u3002</p><h2 id="_6-\u505C\u6B62\u547D\u4EE4" tabindex="-1"><a class="header-anchor" href="#_6-\u505C\u6B62\u547D\u4EE4" aria-hidden="true">#</a> 6. \u505C\u6B62\u547D\u4EE4</h2><p>\u5F02\u6B65\u6267\u884C\u7684\u547D\u4EE4\uFF0C\u5982\u679C\u5E0C\u671B\u505C\u6B62\uFF0C\u53EF\u6267\u884C<code>kill &lt;job-id&gt;</code></p><h2 id="_7-\u5176\u4ED6" tabindex="-1"><a class="header-anchor" href="#_7-\u5176\u4ED6" aria-hidden="true">#</a> 7. \u5176\u4ED6</h2><ul><li>\u6700\u591A\u540C\u65F6\u652F\u6301 8 \u4E2A\u547D\u4EE4\u4F7F\u7528\u91CD\u5B9A\u5411\u5C06\u7ED3\u679C\u5199\u65E5\u5FD7</li><li>\u8BF7\u52FF\u540C\u65F6\u5F00\u542F\u8FC7\u591A\u7684\u540E\u53F0\u5F02\u6B65\u547D\u4EE4\uFF0C\u4EE5\u514D\u5BF9\u76EE\u6807 JVM \u6027\u80FD\u9020\u6210\u5F71\u54CD</li><li>\u5982\u679C\u4E0D\u60F3\u505C\u6B62 arthas\uFF0C\u7EE7\u7EED\u6267\u884C\u540E\u53F0\u4EFB\u52A1\uFF0C\u53EF\u4EE5\u6267\u884C <code>quit</code> \u9000\u51FA arthas \u63A7\u5236\u53F0\uFF08<code>stop</code> \u4F1A\u505C\u6B62 arthas \u670D\u52A1\uFF09</li></ul>`,25);function k(f,x){const s=l("ExternalLinkIcon");return o(),c("div",null,[r,a("p",null,[a("a",p,[h,u,n(s)])]),a("p",null,[b,a("a",m,[g,n(s)]),_]),v])}const E=t(d,[["render",k],["__file","async.html.vue"]]);export{E as default};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-f76c33a6","path":"/en/doc/auth.html","title":"auth","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Configure username and password","slug":"configure-username-and-password","children":[]},{"level":2,"title":"Local connection does not require authentication","slug":"local-connection-does-not-require-authentication","children":[]},{"level":2,"title":"Authenticate in the telnet console","slug":"authenticate-in-the-telnet-console","children":[]},{"level":2,"title":"Web console Authentication","slug":"web-console-authentication","children":[]},{"level":2,"title":"HTTP API Authentication","slug":"http-api-authentication","children":[{"level":3,"title":"HTTP Authorization Header(recommended)","slug":"http-authorization-header-recommended","children":[]},{"level":3,"title":"URL parameters","slug":"url-parameters","children":[]}]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/auth.md","version":"3.6.5"}');export{e as data};
@@ -1,4 +1,4 @@
import{_ as t,o as i,c as o,a as e,b as d,d as a,e as n,r}from"./app.e9adadd6.js";const c={},l=a(`<h1 id="auth" tabindex="-1"><a class="header-anchor" href="#auth" aria-hidden="true">#</a> auth</h1><div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>\u9A8C\u8BC1\u5F53\u524D\u4F1A\u8BDD</p></div><h2 id="\u914D\u7F6E\u7528\u6237\u540D\u548C\u5BC6\u7801" tabindex="-1"><a class="header-anchor" href="#\u914D\u7F6E\u7528\u6237\u540D\u548C\u5BC6\u7801" aria-hidden="true">#</a> \u914D\u7F6E\u7528\u6237\u540D\u548C\u5BC6\u7801</h2><p>\u5728 attach \u65F6\uFF0C\u53EF\u4EE5\u5728\u547D\u4EE4\u884C\u6307\u5B9A\u5BC6\u7801\u3002\u6BD4\u5982\uFF1A</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>java -jar arthas-boot.jar --password ppp
import{_ as t,o as i,c as o,a as e,b as d,d as a,e as n,r}from"./app.a799ec6e.js";const c={},l=a(`<h1 id="auth" tabindex="-1"><a class="header-anchor" href="#auth" aria-hidden="true">#</a> auth</h1><div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>\u9A8C\u8BC1\u5F53\u524D\u4F1A\u8BDD</p></div><h2 id="\u914D\u7F6E\u7528\u6237\u540D\u548C\u5BC6\u7801" tabindex="-1"><a class="header-anchor" href="#\u914D\u7F6E\u7528\u6237\u540D\u548C\u5BC6\u7801" aria-hidden="true">#</a> \u914D\u7F6E\u7528\u6237\u540D\u548C\u5BC6\u7801</h2><p>\u5728 attach \u65F6\uFF0C\u53EF\u4EE5\u5728\u547D\u4EE4\u884C\u6307\u5B9A\u5BC6\u7801\u3002\u6BD4\u5982\uFF1A</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>java -jar arthas-boot.jar --password ppp
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li><p>\u53EF\u4EE5\u901A\u8FC7 <code>--username</code> \u9009\u9879\u6765\u6307\u5B9A\u7528\u6237\uFF0C\u9ED8\u8BA4\u503C\u662F<code>arthas</code>\u3002</p></li><li><p>\u4E5F\u53EF\u4EE5\u5728 <code>arthas.properties</code> \u91CC\u4E2D\u914D\u7F6E username/password\u3002\u547D\u4EE4\u884C\u7684\u4F18\u5148\u7EA7\u5927\u4E8E\u914D\u7F6E\u6587\u4EF6\u3002</p></li><li><p>\u5982\u679C\u53EA\u914D\u7F6E<code>username</code>\uFF0C\u6CA1\u6709\u914D\u7F6E<code>password</code>\uFF0C\u5219\u4F1A\u751F\u6210\u968F\u673A\u5BC6\u7801\uFF0C\u6253\u5370\u5728<code>~/logs/arthas/arthas.log</code>\u4E2D</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>Using generated security password: 0vUBJpRIppkKuZ7dYzYqOKtranj4unGh
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></li></ul><h2 id="\u672C\u5730\u8FDE\u63A5\u4E0D\u9274\u6743" tabindex="-1"><a class="header-anchor" href="#\u672C\u5730\u8FDE\u63A5\u4E0D\u9274\u6743" aria-hidden="true">#</a> \u672C\u5730\u8FDE\u63A5\u4E0D\u9274\u6743</h2><p>\u9ED8\u8BA4\u60C5\u51B5\u4E0B\uFF0C\u5728<code>arthas.properties</code>\u6587\u4EF6\u91CC\u6709\u914D\u7F6E\uFF1A</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>arthas.localConnectionNonAuth=true
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>\u5F53\u914D\u7F6E\u5BC6\u7801\u65F6\uFF0C\u4F7F\u7528\u672C\u5730\u8FDE\u63A5\uFF0C\u4E5F\u4E0D\u9700\u8981\u9274\u6743\u3002\u9ED8\u8BA4\u914D\u7F6E\u503C\u662F true\uFF0C\u65B9\u4FBF\u672C\u5730\u8FDE\u63A5\u4F7F\u7528\u3002\u53EA\u6709\u8FDC\u7A0B\u8FDE\u63A5\u65F6\uFF0C\u624D\u9700\u8981\u9274\u6743\u3002</p><h2 id="\u5728-telnet-console-\u91CC\u9274\u6743" tabindex="-1"><a class="header-anchor" href="#\u5728-telnet-console-\u91CC\u9274\u6743" aria-hidden="true">#</a> \u5728 telnet console \u91CC\u9274\u6743</h2><p>\u8FDE\u63A5\u5230 arthas \u540E\uFF0C\u76F4\u63A5\u6267\u884C\u547D\u4EE4\u4F1A\u63D0\u793A\u9700\u8981\u9274\u6743\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token punctuation">[</span>arthas@37430<span class="token punctuation">]</span>$ <span class="token builtin class-name">help</span>
@@ -6,8 +6,8 @@ Error<span class="token operator">!</span> <span class="token builtin class-name
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p>\u4F7F\u7528<code>auth</code>\u547D\u4EE4\u6765\u9274\u6743\uFF0C\u6210\u529F\u4E4B\u540E\u53EF\u4EE5\u6267\u884C\u5176\u5B83\u547D\u4EE4\u3002</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>[arthas@37430]$ auth ppp
Authentication result: true
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>\u53EF\u4EE5\u901A\u8FC7 <code>--username</code> \u9009\u9879\u6765\u6307\u5B9A\u7528\u6237\uFF0C\u9ED8\u8BA4\u503C\u662F<code>arthas</code>\u3002</li></ul><h2 id="web-console-\u5BC6\u7801\u9A8C\u8BC1" tabindex="-1"><a class="header-anchor" href="#web-console-\u5BC6\u7801\u9A8C\u8BC1" aria-hidden="true">#</a> Web console \u5BC6\u7801\u9A8C\u8BC1</h2><p>\u6253\u5F00\u6D4F\u89C8\u5668\uFF0C\u4F1A\u6709\u5F39\u7A97\u63D0\u793A\u9700\u8981\u8F93\u5165 \u7528\u6237\u540D \u548C \u5BC6\u7801\u3002</p><p>\u6210\u529F\u4E4B\u540E\uFF0C\u5219\u53EF\u4EE5\u76F4\u63A5\u8FDE\u63A5\u4E0A web console\u3002</p><h2 id="http-api-\u9A8C\u8BC1" tabindex="-1"><a class="header-anchor" href="#http-api-\u9A8C\u8BC1" aria-hidden="true">#</a> HTTP API \u9A8C\u8BC1</h2><h3 id="authorization-header-\u65B9\u5F0F-\u63A8\u8350" tabindex="-1"><a class="header-anchor" href="#authorization-header-\u65B9\u5F0F-\u63A8\u8350" aria-hidden="true">#</a> Authorization Header \u65B9\u5F0F\uFF08\u63A8\u8350\uFF09</h3><p>Arthas \u91C7\u7528\u7684\u662F HTTP \u6807\u51C6\u7684 Basic Authorization\uFF0C\u5BA2\u6237\u7AEF\u8BF7\u6C42\u65F6\u589E\u52A0\u5BF9\u5E94\u7684 header \u5373\u53EF\u3002</p>`,22),u=n("\u53C2\u8003\uFF1A"),p={href:"https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication",target:"_blank",rel:"noopener noreferrer"},h=n("https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication"),m=a(`<p>\u4F8B\u5982\uFF0C\u7528\u6237\u540D\u662F\uFF1A<code>admin</code>\uFF0C\u5BC6\u7801\u662F <code>admin</code>\uFF0C\u5219\u7EC4\u5408\u4E3A\u5B57\u7B26\u4E32\uFF1A <code>admin:admin</code>\uFF0Cbase64 \u7ED3\u679C\u662F\uFF1A <code>YWRtaW46YWRtaW4=</code>\uFF0C\u5219 HTTP \u8BF7\u6C42\u589E\u52A0<code>Authorization</code> header\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> <span class="token string">&#39;http://localhost:8563/api&#39;</span> <span class="token punctuation">\\</span>
-H <span class="token string">&#39;Authorization: Basic YWRtaW46YWRtaW4=&#39;</span> <span class="token punctuation">\\</span>
<span class="token parameter variable">-H</span> <span class="token string">&#39;Authorization: Basic YWRtaW46YWRtaW4=&#39;</span> <span class="token punctuation">\\</span>
--data-raw <span class="token string">&#39;{&quot;action&quot;:&quot;exec&quot;,&quot;command&quot;:&quot;version&quot;}&#39;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="url-\u53C2\u6570\u4F20\u9012\u65B9\u5F0F" tabindex="-1"><a class="header-anchor" href="#url-\u53C2\u6570\u4F20\u9012\u65B9\u5F0F" aria-hidden="true">#</a> URL \u53C2\u6570\u4F20\u9012\u65B9\u5F0F</h3><p>\u4E3A\u4E86\u65B9\u4FBF\u5404\u79CD\u7279\u6B8A\u60C5\u51B5\uFF0C\u652F\u6301\u4E86\u4EE5 parameters \u65B9\u5F0F\u4F20\u9012 username \u548C password\u3002\u6BD4\u5982\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> <span class="token string">&#39;http://localhost:8563/api?password=admin&#39;</span> <span class="token punctuation">\\</span>
--data-raw <span class="token string">&#39;{&quot;action&quot;:&quot;exec&quot;,&quot;command&quot;:&quot;version&quot;}&#39;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div>`,5);function v(b,g){const s=r("ExternalLinkIcon");return i(),o("div",null,[l,e("ul",null,[e("li",null,[u,e("a",p,[h,d(s)])])]),m])}var _=t(c,[["render",v],["__file","auth.html.vue"]]);export{_ as default};
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div>`,5);function v(b,g){const s=r("ExternalLinkIcon");return i(),o("div",null,[l,e("ul",null,[e("li",null,[u,e("a",p,[h,d(s)])])]),m])}const _=t(c,[["render",v],["__file","auth.html.vue"]]);export{_ as default};
@@ -1,4 +1,4 @@
import{_ as s,o as i,c as o,a as e,b as r,d as a,e as n,r as c}from"./app.e9adadd6.js";const d={},l=a(`<h1 id="auth" tabindex="-1"><a class="header-anchor" href="#auth" aria-hidden="true">#</a> auth</h1><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>Authenticates the current session</p></div><h2 id="configure-username-and-password" tabindex="-1"><a class="header-anchor" href="#configure-username-and-password" aria-hidden="true">#</a> Configure username and password</h2><p>When attaching, you can specify a password on the command line. such as:</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>java -jar arthas-boot.jar --password ppp
import{_ as s,o as i,c as o,a as e,b as r,d as a,e as n,r as c}from"./app.a799ec6e.js";const d={},l=a(`<h1 id="auth" tabindex="-1"><a class="header-anchor" href="#auth" aria-hidden="true">#</a> auth</h1><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>Authenticates the current session</p></div><h2 id="configure-username-and-password" tabindex="-1"><a class="header-anchor" href="#configure-username-and-password" aria-hidden="true">#</a> Configure username and password</h2><p>When attaching, you can specify a password on the command line. such as:</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>java -jar arthas-boot.jar --password ppp
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li><p>The user can be specified by the <code>--username</code> option, the default value is <code>arthas</code>.</p></li><li><p>You can also configure username/password in <code>arthas.properties</code>. The priority of the command line is higher than that of the configuration file.</p></li><li><p>If only <code>username</code> is configured and no <code>password</code> is configured, a random password will be generated and printed in <code>~/logs/arthas/arthas.log</code></p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>Using generated security password: 0vUBJpRIppkKuZ7dYzYqOKtranj4unGh
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></li></ul><h2 id="local-connection-does-not-require-authentication" tabindex="-1"><a class="header-anchor" href="#local-connection-does-not-require-authentication" aria-hidden="true">#</a> Local connection does not require authentication</h2><p>By default, there are configurations in the <code>arthas.properties</code> file:</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>arthas.localConnectionNonAuth=true
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>When the password is configured, connect from localhost, the authentication is not required. The default configuration value is true, which is convenient for local connection. Authentication is only required when connecting remotely.</p><h2 id="authenticate-in-the-telnet-console" tabindex="-1"><a class="header-anchor" href="#authenticate-in-the-telnet-console" aria-hidden="true">#</a> Authenticate in the telnet console</h2><p>After connecting to arthas, directly executing the command will prompt for authentication:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token punctuation">[</span>arthas@37430<span class="token punctuation">]</span>$ <span class="token builtin class-name">help</span>
@@ -6,8 +6,8 @@ Error<span class="token operator">!</span> <span class="token builtin class-name
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p>Use the <code>auth</code> command to authenticate, and you can execute other commands after success.</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>[arthas@37430]$ auth ppp
Authentication result: true
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>The user can be specified by the <code>--username</code> option, the default value is <code>arthas</code>.</li></ul><h2 id="web-console-authentication" tabindex="-1"><a class="header-anchor" href="#web-console-authentication" aria-hidden="true">#</a> Web console Authentication</h2><p>Open the browser, there will be a pop-up window prompting you to enter your username and password.</p><p>After success, you can directly connect to the web console.</p><h2 id="http-api-authentication" tabindex="-1"><a class="header-anchor" href="#http-api-authentication" aria-hidden="true">#</a> HTTP API Authentication</h2><h3 id="http-authorization-header-recommended" tabindex="-1"><a class="header-anchor" href="#http-authorization-header-recommended" aria-hidden="true">#</a> HTTP Authorization Header(recommended)</h3><p>Arthas uses the HTTP standard Basic Authorization.</p>`,22),u=n("Reference: "),h={href:"https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication",target:"_blank",rel:"noopener noreferrer"},p=n("https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication"),m=a(`<p>For example, if the user name is: <code>admin</code> and the password is <code>admin</code>, the combination is a string: <code>admin:admin</code>, the base64 result is: <code>YWRtaW46YWRtaW4=</code>, then the HTTP request adds the <code>Authorization</code> header:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> <span class="token string">&#39;http://localhost:8563/api&#39;</span> <span class="token punctuation">\\</span>
-H <span class="token string">&#39;Authorization: Basic YWRtaW46YWRtaW4=&#39;</span> <span class="token punctuation">\\</span>
<span class="token parameter variable">-H</span> <span class="token string">&#39;Authorization: Basic YWRtaW46YWRtaW4=&#39;</span> <span class="token punctuation">\\</span>
--data-raw <span class="token string">&#39;{&quot;action&quot;:&quot;exec&quot;,&quot;command&quot;:&quot;version&quot;}&#39;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="url-parameters" tabindex="-1"><a class="header-anchor" href="#url-parameters" aria-hidden="true">#</a> URL parameters</h3><p>It supports passing username and password in parameters. such as:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> <span class="token string">&#39;http://localhost:8563/api?password=admin&#39;</span> <span class="token punctuation">\\</span>
--data-raw <span class="token string">&#39;{&quot;action&quot;:&quot;exec&quot;,&quot;command&quot;:&quot;version&quot;}&#39;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div>`,5);function v(b,g){const t=c("ExternalLinkIcon");return i(),o("div",null,[l,e("ul",null,[e("li",null,[u,e("a",h,[p,r(t)])])]),m])}var x=s(d,[["render",v],["__file","auth.html.vue"]]);export{x as default};
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div>`,5);function v(b,g){const t=c("ExternalLinkIcon");return i(),o("div",null,[l,e("ul",null,[e("li",null,[u,e("a",h,[p,r(t)])])]),m])}const x=s(d,[["render",v],["__file","auth.html.vue"]]);export{x as default};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-d0358c7e","path":"/doc/auth.html","title":"auth","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u914D\u7F6E\u7528\u6237\u540D\u548C\u5BC6\u7801","slug":"\u914D\u7F6E\u7528\u6237\u540D\u548C\u5BC6\u7801","children":[]},{"level":2,"title":"\u672C\u5730\u8FDE\u63A5\u4E0D\u9274\u6743","slug":"\u672C\u5730\u8FDE\u63A5\u4E0D\u9274\u6743","children":[]},{"level":2,"title":"\u5728 telnet console \u91CC\u9274\u6743","slug":"\u5728-telnet-console-\u91CC\u9274\u6743","children":[]},{"level":2,"title":"Web console \u5BC6\u7801\u9A8C\u8BC1","slug":"web-console-\u5BC6\u7801\u9A8C\u8BC1","children":[]},{"level":2,"title":"HTTP API \u9A8C\u8BC1","slug":"http-api-\u9A8C\u8BC1","children":[{"level":3,"title":"Authorization Header \u65B9\u5F0F\uFF08\u63A8\u8350\uFF09","slug":"authorization-header-\u65B9\u5F0F-\u63A8\u8350","children":[]},{"level":3,"title":"URL \u53C2\u6570\u4F20\u9012\u65B9\u5F0F","slug":"url-\u53C2\u6570\u4F20\u9012\u65B9\u5F0F","children":[]}]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/auth.md","version":"3.6.5"}');export{e as data};
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-f76c33a6","path":"/en/doc/auth.html","title":"auth","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Configure username and password","slug":"configure-username-and-password","link":"#configure-username-and-password","children":[]},{"level":2,"title":"Local connection does not require authentication","slug":"local-connection-does-not-require-authentication","link":"#local-connection-does-not-require-authentication","children":[]},{"level":2,"title":"Authenticate in the telnet console","slug":"authenticate-in-the-telnet-console","link":"#authenticate-in-the-telnet-console","children":[]},{"level":2,"title":"Web console Authentication","slug":"web-console-authentication","link":"#web-console-authentication","children":[]},{"level":2,"title":"HTTP API Authentication","slug":"http-api-authentication","link":"#http-api-authentication","children":[{"level":3,"title":"HTTP Authorization Header(recommended)","slug":"http-authorization-header-recommended","link":"#http-authorization-header-recommended","children":[]},{"level":3,"title":"URL parameters","slug":"url-parameters","link":"#url-parameters","children":[]}]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/auth.md","version":"3.6.5"}');export{e as data};
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-d0358c7e","path":"/doc/auth.html","title":"auth","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u914D\u7F6E\u7528\u6237\u540D\u548C\u5BC6\u7801","slug":"\u914D\u7F6E\u7528\u6237\u540D\u548C\u5BC6\u7801","link":"#\u914D\u7F6E\u7528\u6237\u540D\u548C\u5BC6\u7801","children":[]},{"level":2,"title":"\u672C\u5730\u8FDE\u63A5\u4E0D\u9274\u6743","slug":"\u672C\u5730\u8FDE\u63A5\u4E0D\u9274\u6743","link":"#\u672C\u5730\u8FDE\u63A5\u4E0D\u9274\u6743","children":[]},{"level":2,"title":"\u5728 telnet console \u91CC\u9274\u6743","slug":"\u5728-telnet-console-\u91CC\u9274\u6743","link":"#\u5728-telnet-console-\u91CC\u9274\u6743","children":[]},{"level":2,"title":"Web console \u5BC6\u7801\u9A8C\u8BC1","slug":"web-console-\u5BC6\u7801\u9A8C\u8BC1","link":"#web-console-\u5BC6\u7801\u9A8C\u8BC1","children":[]},{"level":2,"title":"HTTP API \u9A8C\u8BC1","slug":"http-api-\u9A8C\u8BC1","link":"#http-api-\u9A8C\u8BC1","children":[{"level":3,"title":"Authorization Header \u65B9\u5F0F\uFF08\u63A8\u8350\uFF09","slug":"authorization-header-\u65B9\u5F0F-\u63A8\u8350","link":"#authorization-header-\u65B9\u5F0F-\u63A8\u8350","children":[]},{"level":3,"title":"URL \u53C2\u6570\u4F20\u9012\u65B9\u5F0F","slug":"url-\u53C2\u6570\u4F20\u9012\u65B9\u5F0F","link":"#url-\u53C2\u6570\u4F20\u9012\u65B9\u5F0F","children":[]}]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/auth.md","version":"3.6.5"}');export{e as data};
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-3157067a","path":"/doc/base64.html","title":"base64","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u5BF9\u6587\u4EF6\u8FDB\u884C base64 \u7F16\u7801","slug":"\u5BF9\u6587\u4EF6\u8FDB\u884C-base64-\u7F16\u7801","link":"#\u5BF9\u6587\u4EF6\u8FDB\u884C-base64-\u7F16\u7801","children":[]},{"level":2,"title":"\u5BF9\u6587\u4EF6\u8FDB\u884C base64 \u7F16\u7801\u5E76\u628A\u7ED3\u679C\u4FDD\u5B58\u5230\u6587\u4EF6\u91CC","slug":"\u5BF9\u6587\u4EF6\u8FDB\u884C-base64-\u7F16\u7801\u5E76\u628A\u7ED3\u679C\u4FDD\u5B58\u5230\u6587\u4EF6\u91CC","link":"#\u5BF9\u6587\u4EF6\u8FDB\u884C-base64-\u7F16\u7801\u5E76\u628A\u7ED3\u679C\u4FDD\u5B58\u5230\u6587\u4EF6\u91CC","children":[]},{"level":2,"title":"\u7528 base64 \u89E3\u7801\u6587\u4EF6","slug":"\u7528-base64-\u89E3\u7801\u6587\u4EF6","link":"#\u7528-base64-\u89E3\u7801\u6587\u4EF6","children":[]},{"level":2,"title":"\u7528 base64 \u89E3\u7801\u6587\u4EF6\u5E76\u4FDD\u5B58\u7ED3\u679C\u5230\u6587\u4EF6\u91CC","slug":"\u7528-base64-\u89E3\u7801\u6587\u4EF6\u5E76\u4FDD\u5B58\u7ED3\u679C\u5230\u6587\u4EF6\u91CC","link":"#\u7528-base64-\u89E3\u7801\u6587\u4EF6\u5E76\u4FDD\u5B58\u7ED3\u679C\u5230\u6587\u4EF6\u91CC","children":[]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/base64.md","version":"3.6.5"}');export{e as data};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-d17b7034","path":"/en/doc/base64.html","title":"base64","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Encode to base64","slug":"encode-to-base64","children":[]},{"level":2,"title":"Encode to base64 and save output to file","slug":"encode-to-base64-and-save-output-to-file","children":[]},{"level":2,"title":"Decode from base64","slug":"decode-from-base64","children":[]},{"level":2,"title":"Decode from base64 and save output to file","slug":"decode-from-base64-and-save-output-to-file","children":[]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/base64.md","version":"3.6.5"}');export{e as data};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-3157067a","path":"/doc/base64.html","title":"base64","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u5BF9\u6587\u4EF6\u8FDB\u884C base64 \u7F16\u7801","slug":"\u5BF9\u6587\u4EF6\u8FDB\u884C-base64-\u7F16\u7801","children":[]},{"level":2,"title":"\u5BF9\u6587\u4EF6\u8FDB\u884C base64 \u7F16\u7801\u5E76\u628A\u7ED3\u679C\u4FDD\u5B58\u5230\u6587\u4EF6\u91CC","slug":"\u5BF9\u6587\u4EF6\u8FDB\u884C-base64-\u7F16\u7801\u5E76\u628A\u7ED3\u679C\u4FDD\u5B58\u5230\u6587\u4EF6\u91CC","children":[]},{"level":2,"title":"\u7528 base64 \u89E3\u7801\u6587\u4EF6","slug":"\u7528-base64-\u89E3\u7801\u6587\u4EF6","children":[]},{"level":2,"title":"\u7528 base64 \u89E3\u7801\u6587\u4EF6\u5E76\u4FDD\u5B58\u7ED3\u679C\u5230\u6587\u4EF6\u91CC","slug":"\u7528-base64-\u89E3\u7801\u6587\u4EF6\u5E76\u4FDD\u5B58\u7ED3\u679C\u5230\u6587\u4EF6\u91CC","children":[]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/base64.md","version":"3.6.5"}');export{e as data};
@@ -1,11 +1,11 @@
import{_ as e,o as a,c as s,d as n}from"./app.e9adadd6.js";const t={},d=n(`<h1 id="base64" tabindex="-1"><a class="header-anchor" href="#base64" aria-hidden="true">#</a> base64</h1><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>Encode and decode using Base64 representation.</p></div><h2 id="encode-to-base64" tabindex="-1"><a class="header-anchor" href="#encode-to-base64" aria-hidden="true">#</a> Encode to base64</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token punctuation">[</span>arthas@70070<span class="token punctuation">]</span>$ <span class="token builtin class-name">echo</span> <span class="token string">&#39;abc&#39;</span> <span class="token operator">&gt;</span> /tmp/test.txt
import{_ as e,o as a,c as s,d as n}from"./app.a799ec6e.js";const t={},i=n(`<h1 id="base64" tabindex="-1"><a class="header-anchor" href="#base64" aria-hidden="true">#</a> base64</h1><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>Encode and decode using Base64 representation.</p></div><h2 id="encode-to-base64" tabindex="-1"><a class="header-anchor" href="#encode-to-base64" aria-hidden="true">#</a> Encode to base64</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token punctuation">[</span>arthas@70070<span class="token punctuation">]</span>$ <span class="token builtin class-name">echo</span> <span class="token string">&#39;abc&#39;</span> <span class="token operator">&gt;</span> /tmp/test.txt
<span class="token punctuation">[</span>arthas@70070<span class="token punctuation">]</span>$ <span class="token function">cat</span> /tmp/test.txt
abc
<span class="token punctuation">[</span>arthas@70070<span class="token punctuation">]</span>$ base64 /tmp/test.txt
<span class="token assign-left variable">YWJjCg</span><span class="token operator">==</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="encode-to-base64-and-save-output-to-file" tabindex="-1"><a class="header-anchor" href="#encode-to-base64-and-save-output-to-file" aria-hidden="true">#</a> Encode to base64 and save output to file</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ base64 --input /tmp/test.txt --output /tmp/result.txt
</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="encode-to-base64-and-save-output-to-file" tabindex="-1"><a class="header-anchor" href="#encode-to-base64-and-save-output-to-file" aria-hidden="true">#</a> Encode to base64 and save output to file</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ base64 <span class="token parameter variable">--input</span> /tmp/test.txt <span class="token parameter variable">--output</span> /tmp/result.txt
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="decode-from-base64" tabindex="-1"><a class="header-anchor" href="#decode-from-base64" aria-hidden="true">#</a> Decode from base64</h2><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>$ base64 -d /tmp/result.txt
abc
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="decode-from-base64-and-save-output-to-file" tabindex="-1"><a class="header-anchor" href="#decode-from-base64-and-save-output-to-file" aria-hidden="true">#</a> Decode from base64 and save output to file</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ base64 -d /tmp/result.txt --output /tmp/bbb.txt
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,10),i=[d];function c(o,r){return a(),s("div",null,i)}var u=e(t,[["render",c],["__file","base64.html.vue"]]);export{u as default};
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="decode-from-base64-and-save-output-to-file" tabindex="-1"><a class="header-anchor" href="#decode-from-base64-and-save-output-to-file" aria-hidden="true">#</a> Decode from base64 and save output to file</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ base64 <span class="token parameter variable">-d</span> /tmp/result.txt <span class="token parameter variable">--output</span> /tmp/bbb.txt
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,10),d=[i];function c(o,r){return a(),s("div",null,d)}const p=e(t,[["render",c],["__file","base64.html.vue"]]);export{p as default};
@@ -1,11 +1,11 @@
import{_ as a,o as e,c as s,d as n}from"./app.e9adadd6.js";const t={},i=n(`<h1 id="base64" tabindex="-1"><a class="header-anchor" href="#base64" aria-hidden="true">#</a> base64</h1><div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>base64 \u7F16\u7801\u8F6C\u6362\uFF0C\u548C linux \u91CC\u7684 base64 \u547D\u4EE4\u7C7B\u4F3C\u3002</p></div><h2 id="\u5BF9\u6587\u4EF6\u8FDB\u884C-base64-\u7F16\u7801" tabindex="-1"><a class="header-anchor" href="#\u5BF9\u6587\u4EF6\u8FDB\u884C-base64-\u7F16\u7801" aria-hidden="true">#</a> \u5BF9\u6587\u4EF6\u8FDB\u884C base64 \u7F16\u7801</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token punctuation">[</span>arthas@70070<span class="token punctuation">]</span>$ <span class="token builtin class-name">echo</span> <span class="token string">&#39;abc&#39;</span> <span class="token operator">&gt;</span> /tmp/test.txt
import{_ as a,o as e,c as s,d as n}from"./app.a799ec6e.js";const t={},i=n(`<h1 id="base64" tabindex="-1"><a class="header-anchor" href="#base64" aria-hidden="true">#</a> base64</h1><div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>base64 \u7F16\u7801\u8F6C\u6362\uFF0C\u548C linux \u91CC\u7684 base64 \u547D\u4EE4\u7C7B\u4F3C\u3002</p></div><h2 id="\u5BF9\u6587\u4EF6\u8FDB\u884C-base64-\u7F16\u7801" tabindex="-1"><a class="header-anchor" href="#\u5BF9\u6587\u4EF6\u8FDB\u884C-base64-\u7F16\u7801" aria-hidden="true">#</a> \u5BF9\u6587\u4EF6\u8FDB\u884C base64 \u7F16\u7801</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token punctuation">[</span>arthas@70070<span class="token punctuation">]</span>$ <span class="token builtin class-name">echo</span> <span class="token string">&#39;abc&#39;</span> <span class="token operator">&gt;</span> /tmp/test.txt
<span class="token punctuation">[</span>arthas@70070<span class="token punctuation">]</span>$ <span class="token function">cat</span> /tmp/test.txt
abc
<span class="token punctuation">[</span>arthas@70070<span class="token punctuation">]</span>$ base64 /tmp/test.txt
<span class="token assign-left variable">YWJjCg</span><span class="token operator">==</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="\u5BF9\u6587\u4EF6\u8FDB\u884C-base64-\u7F16\u7801\u5E76\u628A\u7ED3\u679C\u4FDD\u5B58\u5230\u6587\u4EF6\u91CC" tabindex="-1"><a class="header-anchor" href="#\u5BF9\u6587\u4EF6\u8FDB\u884C-base64-\u7F16\u7801\u5E76\u628A\u7ED3\u679C\u4FDD\u5B58\u5230\u6587\u4EF6\u91CC" aria-hidden="true">#</a> \u5BF9\u6587\u4EF6\u8FDB\u884C base64 \u7F16\u7801\u5E76\u628A\u7ED3\u679C\u4FDD\u5B58\u5230\u6587\u4EF6\u91CC</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ base64 --input /tmp/test.txt --output /tmp/result.txt
</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="\u5BF9\u6587\u4EF6\u8FDB\u884C-base64-\u7F16\u7801\u5E76\u628A\u7ED3\u679C\u4FDD\u5B58\u5230\u6587\u4EF6\u91CC" tabindex="-1"><a class="header-anchor" href="#\u5BF9\u6587\u4EF6\u8FDB\u884C-base64-\u7F16\u7801\u5E76\u628A\u7ED3\u679C\u4FDD\u5B58\u5230\u6587\u4EF6\u91CC" aria-hidden="true">#</a> \u5BF9\u6587\u4EF6\u8FDB\u884C base64 \u7F16\u7801\u5E76\u628A\u7ED3\u679C\u4FDD\u5B58\u5230\u6587\u4EF6\u91CC</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ base64 <span class="token parameter variable">--input</span> /tmp/test.txt <span class="token parameter variable">--output</span> /tmp/result.txt
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="\u7528-base64-\u89E3\u7801\u6587\u4EF6" tabindex="-1"><a class="header-anchor" href="#\u7528-base64-\u89E3\u7801\u6587\u4EF6" aria-hidden="true">#</a> \u7528 base64 \u89E3\u7801\u6587\u4EF6</h2><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>$ base64 -d /tmp/result.txt
abc
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="\u7528-base64-\u89E3\u7801\u6587\u4EF6\u5E76\u4FDD\u5B58\u7ED3\u679C\u5230\u6587\u4EF6\u91CC" tabindex="-1"><a class="header-anchor" href="#\u7528-base64-\u89E3\u7801\u6587\u4EF6\u5E76\u4FDD\u5B58\u7ED3\u679C\u5230\u6587\u4EF6\u91CC" aria-hidden="true">#</a> \u7528 base64 \u89E3\u7801\u6587\u4EF6\u5E76\u4FDD\u5B58\u7ED3\u679C\u5230\u6587\u4EF6\u91CC</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ base64 -d /tmp/result.txt --output /tmp/bbb.txt
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,10),d=[i];function c(r,l){return e(),s("div",null,d)}var o=a(t,[["render",c],["__file","base64.html.vue"]]);export{o as default};
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="\u7528-base64-\u89E3\u7801\u6587\u4EF6\u5E76\u4FDD\u5B58\u7ED3\u679C\u5230\u6587\u4EF6\u91CC" tabindex="-1"><a class="header-anchor" href="#\u7528-base64-\u89E3\u7801\u6587\u4EF6\u5E76\u4FDD\u5B58\u7ED3\u679C\u5230\u6587\u4EF6\u91CC" aria-hidden="true">#</a> \u7528 base64 \u89E3\u7801\u6587\u4EF6\u5E76\u4FDD\u5B58\u7ED3\u679C\u5230\u6587\u4EF6\u91CC</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ base64 <span class="token parameter variable">-d</span> /tmp/result.txt <span class="token parameter variable">--output</span> /tmp/bbb.txt
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,10),r=[i];function d(l,c){return e(),s("div",null,r)}const o=a(t,[["render",d],["__file","base64.html.vue"]]);export{o as default};
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-d17b7034","path":"/en/doc/base64.html","title":"base64","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Encode to base64","slug":"encode-to-base64","link":"#encode-to-base64","children":[]},{"level":2,"title":"Encode to base64 and save output to file","slug":"encode-to-base64-and-save-output-to-file","link":"#encode-to-base64-and-save-output-to-file","children":[]},{"level":2,"title":"Decode from base64","slug":"decode-from-base64","link":"#decode-from-base64","children":[]},{"level":2,"title":"Decode from base64 and save output to file","slug":"decode-from-base64-and-save-output-to-file","link":"#decode-from-base64-and-save-output-to-file","children":[]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/base64.md","version":"3.6.5"}');export{e as data};
@@ -1,10 +1,10 @@
import{_ as n,o as c,c as o,a as e,b as i,w as d,d as t,e as s,r}from"./app.e9adadd6.js";const l={},h=t(`<h1 id="batch-processing" tabindex="-1"><a class="header-anchor" href="#batch-processing" aria-hidden="true">#</a> Batch Processing</h1><p>With the help of Batch Processing, you can run multiple commands in batch and get the final result at the end.</p><h2 id="usage" tabindex="-1"><a class="header-anchor" href="#usage" aria-hidden="true">#</a> Usage</h2><h3 id="step-1-create-the-script" tabindex="-1"><a class="header-anchor" href="#step-1-create-the-script" aria-hidden="true">#</a> Step 1: Create the script</h3><p>Create a <code>test.as</code> script suffixed with <code>as</code>. Here <code>as</code> is suggested for the suffix of the filename, but in fact any suffix is acceptable.</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>\u279C arthas git:<span class="token punctuation">(</span>develop<span class="token punctuation">)</span> <span class="token function">cat</span> /var/tmp/test.as
import{_ as n,o as c,c as o,a as e,b as i,w as d,d as a,e as s,r}from"./app.a799ec6e.js";const l={},h=a(`<h1 id="batch-processing" tabindex="-1"><a class="header-anchor" href="#batch-processing" aria-hidden="true">#</a> Batch Processing</h1><p>With the help of Batch Processing, you can run multiple commands in batch and get the final result at the end.</p><h2 id="usage" tabindex="-1"><a class="header-anchor" href="#usage" aria-hidden="true">#</a> Usage</h2><h3 id="step-1-create-the-script" tabindex="-1"><a class="header-anchor" href="#step-1-create-the-script" aria-hidden="true">#</a> Step 1: Create the script</h3><p>Create a <code>test.as</code> script suffixed with <code>as</code>. Here <code>as</code> is suggested for the suffix of the filename, but in fact any suffix is acceptable.</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>\u279C arthas git:<span class="token punctuation">(</span>develop<span class="token punctuation">)</span> <span class="token function">cat</span> /var/tmp/test.as
<span class="token builtin class-name">help</span>
dashboard -n <span class="token number">1</span>
dashboard <span class="token parameter variable">-n</span> <span class="token number">1</span>
session
thread
sc -d org.apache.commons.lang.StringUtils
</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><p>Note:</p>`,7),u=t("<li>Each command takes one line.</li><li>Batch mode execution times (via <code>-n</code>) must be explicitly specified for <code>dashboard</code>, otherwise batch script cannot terminate.</li><li>Commands such as <code>watch</code>/<code>tt</code>/<code>trace</code>/<code>monitor</code>/<code>stack</code> should include <code>-n</code> option to ensure the script can be able to quit.</li>",3),p=s("Also consider to use "),m=e("code",null,"async",-1),b=s(" (for example: "),v=e("code",null,"watch c.t.X test returnObj > &",-1),f=s(") to put commands run at background and get the output from the log file, see more from "),g=s("asynchronous job"),_=t(`<h3 id="step-2-run-the-script" tabindex="-1"><a class="header-anchor" href="#step-2-run-the-script" aria-hidden="true">#</a> Step 2: Run the script</h3><p>Use <code>-f</code> to specify the script file. By default the result will be output to the standard output, but you can redirect the output to the file like this:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>./as.sh -f /var/tmp/test.as <span class="token number">56328</span> <span class="token operator">&gt;</span> test.out
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>Use <code>-c</code> also can specify the commands, like this:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>./as.sh -c <span class="token string">&#39;sysprop; thread&#39;</span> <span class="token number">56328</span> <span class="token operator">&gt;</span> test.out
sc <span class="token parameter variable">-d</span> org.apache.commons.lang.StringUtils
</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><p>Note:</p>`,7),p=a("<li>Each command takes one line.</li><li>Batch mode execution times (via <code>-n</code>) must be explicitly specified for <code>dashboard</code>, otherwise batch script cannot terminate.</li><li>Commands such as <code>watch</code>/<code>tt</code>/<code>trace</code>/<code>monitor</code>/<code>stack</code> should include <code>-n</code> option to ensure the script can be able to quit.</li>",3),u=s("Also consider to use "),m=e("code",null,"async",-1),b=s(" (for example: "),v=e("code",null,"watch c.t.X test returnObj > &",-1),f=s(") to put commands run at background and get the output from the log file, see more from "),g=s("asynchronous job"),_=a(`<h3 id="step-2-run-the-script" tabindex="-1"><a class="header-anchor" href="#step-2-run-the-script" aria-hidden="true">#</a> Step 2: Run the script</h3><p>Use <code>-f</code> to specify the script file. By default the result will be output to the standard output, but you can redirect the output to the file like this:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>./as.sh <span class="token parameter variable">-f</span> /var/tmp/test.as <span class="token number">56328</span> <span class="token operator">&gt;</span> test.out
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>Use <code>-c</code> also can specify the commands, like this:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>./as.sh <span class="token parameter variable">-c</span> <span class="token string">&#39;sysprop; thread&#39;</span> <span class="token number">56328</span> <span class="token operator">&gt;</span> test.out
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="step-3-check-the-output" tabindex="-1"><a class="header-anchor" href="#step-3-check-the-output" aria-hidden="true">#</a> Step 3: Check the output</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">cat</span> test.out
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,7);function k(x,y){const a=r("RouterLink");return c(),o("div",null,[h,e("ul",null,[u,e("li",null,[p,m,b,v,f,i(a,{to:"/en/doc/async.html"},{default:d(()=>[g]),_:1})])]),_])}var B=n(l,[["render",k],["__file","batch-support.html.vue"]]);export{B as default};
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,7);function k(x,y){const t=r("RouterLink");return c(),o("div",null,[h,e("ul",null,[p,e("li",null,[u,m,b,v,f,i(t,{to:"/en/doc/async.html"},{default:d(()=>[g]),_:1})])]),_])}const B=n(l,[["render",k],["__file","batch-support.html.vue"]]);export{B as default};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-cc8f4ae6","path":"/doc/batch-support.html","title":"\u6279\u5904\u7406\u529F\u80FD","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u4F7F\u7528\u65B9\u6CD5","slug":"\u4F7F\u7528\u65B9\u6CD5","children":[{"level":3,"title":"\u7B2C\u4E00\u6B65\uFF1A \u521B\u5EFA\u4F60\u7684\u6279\u5904\u7406\u811A\u672C","slug":"\u7B2C\u4E00\u6B65-\u521B\u5EFA\u4F60\u7684\u6279\u5904\u7406\u811A\u672C","children":[]},{"level":3,"title":"\u7B2C\u4E8C\u6B65\uFF1A \u8FD0\u884C\u4F60\u7684\u6279\u5904\u7406\u811A\u672C","slug":"\u7B2C\u4E8C\u6B65-\u8FD0\u884C\u4F60\u7684\u6279\u5904\u7406\u811A\u672C","children":[]},{"level":3,"title":"\u7B2C\u4E09\u6B65\uFF1A \u67E5\u770B\u8FD0\u884C\u7ED3\u679C","slug":"\u7B2C\u4E09\u6B65-\u67E5\u770B\u8FD0\u884C\u7ED3\u679C","children":[]}]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/batch-support.md","version":"3.6.5"}');export{e as data};
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-765e30be","path":"/en/doc/batch-support.html","title":"Batch Processing","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Usage","slug":"usage","link":"#usage","children":[{"level":3,"title":"Step 1: Create the script","slug":"step-1-create-the-script","link":"#step-1-create-the-script","children":[]},{"level":3,"title":"Step 2: Run the script","slug":"step-2-run-the-script","link":"#step-2-run-the-script","children":[]},{"level":3,"title":"Step 3: Check the output","slug":"step-3-check-the-output","link":"#step-3-check-the-output","children":[]}]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/batch-support.md","version":"3.6.5"}');export{e as data};
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-cc8f4ae6","path":"/doc/batch-support.html","title":"\u6279\u5904\u7406\u529F\u80FD","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u4F7F\u7528\u65B9\u6CD5","slug":"\u4F7F\u7528\u65B9\u6CD5","link":"#\u4F7F\u7528\u65B9\u6CD5","children":[{"level":3,"title":"\u7B2C\u4E00\u6B65\uFF1A \u521B\u5EFA\u4F60\u7684\u6279\u5904\u7406\u811A\u672C","slug":"\u7B2C\u4E00\u6B65-\u521B\u5EFA\u4F60\u7684\u6279\u5904\u7406\u811A\u672C","link":"#\u7B2C\u4E00\u6B65-\u521B\u5EFA\u4F60\u7684\u6279\u5904\u7406\u811A\u672C","children":[]},{"level":3,"title":"\u7B2C\u4E8C\u6B65\uFF1A \u8FD0\u884C\u4F60\u7684\u6279\u5904\u7406\u811A\u672C","slug":"\u7B2C\u4E8C\u6B65-\u8FD0\u884C\u4F60\u7684\u6279\u5904\u7406\u811A\u672C","link":"#\u7B2C\u4E8C\u6B65-\u8FD0\u884C\u4F60\u7684\u6279\u5904\u7406\u811A\u672C","children":[]},{"level":3,"title":"\u7B2C\u4E09\u6B65\uFF1A \u67E5\u770B\u8FD0\u884C\u7ED3\u679C","slug":"\u7B2C\u4E09\u6B65-\u67E5\u770B\u8FD0\u884C\u7ED3\u679C","link":"#\u7B2C\u4E09\u6B65-\u67E5\u770B\u8FD0\u884C\u7ED3\u679C","children":[]}]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/batch-support.md","version":"3.6.5"}');export{e as data};
@@ -1,10 +1,10 @@
import{_ as t,o as d,c as i,a as e,b as o,w as c,d as a,e as s,r}from"./app.e9adadd6.js";const l={},h=a('<h1 id="\u6279\u5904\u7406\u529F\u80FD" tabindex="-1"><a class="header-anchor" href="#\u6279\u5904\u7406\u529F\u80FD" aria-hidden="true">#</a> \u6279\u5904\u7406\u529F\u80FD</h1><div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>\u901A\u8FC7\u6279\u5904\u7406\u529F\u80FD\uFF0Carthas \u652F\u6301\u4E00\u6B21\u6027\u6279\u91CF\u8FD0\u884C\u591A\u4E2A\u547D\u4EE4\uFF0C\u5E76\u53D6\u5F97\u547D\u4EE4\u6267\u884C\u7684\u7ED3\u679C\u3002</p></div><h2 id="\u4F7F\u7528\u65B9\u6CD5" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528\u65B9\u6CD5" aria-hidden="true">#</a> \u4F7F\u7528\u65B9\u6CD5</h2><h3 id="\u7B2C\u4E00\u6B65-\u521B\u5EFA\u4F60\u7684\u6279\u5904\u7406\u811A\u672C" tabindex="-1"><a class="header-anchor" href="#\u7B2C\u4E00\u6B65-\u521B\u5EFA\u4F60\u7684\u6279\u5904\u7406\u811A\u672C" aria-hidden="true">#</a> \u7B2C\u4E00\u6B65\uFF1A \u521B\u5EFA\u4F60\u7684\u6279\u5904\u7406\u811A\u672C</h3><p>\u8FD9\u91CC\u6211\u4EEC\u65B0\u5EFA\u4E86\u4E00\u4E2A<code>test.as</code>\u811A\u672C\uFF0C\u4E3A\u4E86\u89C4\u8303\uFF0C\u6211\u4EEC\u91C7\u7528\u4E86.as \u540E\u7F00\u540D\uFF0C\u4F46\u4E8B\u5B9E\u4E0A\u4EFB\u610F\u7684\u6587\u672C\u6587\u4EF6\u90FD ok\u3002</p>',5),p={class:"custom-container tip"},u=e("p",{class:"custom-container-title"},"\u63D0\u793A",-1),v=e("li",null,"\u76EE\u524D\u9700\u8981\u6BCF\u4E2A\u547D\u4EE4\u5360\u4E00\u884C",-1),m=e("li",null,[s("dashboard \u52A1\u5FC5\u6307\u5B9A\u6267\u884C\u6B21\u6570("),e("code",null,"-n"),s(")\uFF0C\u5426\u5219\u4F1A\u5BFC\u81F4\u6279\u5904\u7406\u811A\u672C\u65E0\u6CD5\u7EC8\u6B62")],-1),_=e("li",null,[s("watch/tt/trace/monitor/stack \u7B49\u547D\u4EE4\u52A1\u5FC5\u6307\u5B9A\u6267\u884C\u6B21\u6570("),e("code",null,"-n"),s(")\uFF0C\u5426\u5219\u4F1A\u5BFC\u81F4\u6279\u5904\u7406\u811A\u672C\u65E0\u6CD5\u7EC8\u6B62")],-1),b=s("\u53EF\u4EE5\u4F7F\u7528\u5F02\u6B65\u540E\u53F0\u4EFB\u52A1\uFF0C\u5982 "),g=e("code",null,"watch c.t.X test returnObj > &",-1),x=s("\uFF0C\u8BA9\u547D\u4EE4\u4E00\u76F4\u5728\u540E\u53F0\u8FD0\u884C\uFF0C\u901A\u8FC7\u65E5\u5FD7\u83B7\u53D6\u7ED3\u679C\uFF0C"),f=s("\u83B7\u53D6\u66F4\u591A\u5F02\u6B65\u4EFB\u52A1\u7684\u4FE1\u606F"),k=a(`<div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>\u279C arthas git:(develop) cat /var/tmp/test.as
import{_ as t,o as i,c as d,a as e,b as o,w as c,d as a,e as s,r}from"./app.a799ec6e.js";const l={},p=a('<h1 id="\u6279\u5904\u7406\u529F\u80FD" tabindex="-1"><a class="header-anchor" href="#\u6279\u5904\u7406\u529F\u80FD" aria-hidden="true">#</a> \u6279\u5904\u7406\u529F\u80FD</h1><div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>\u901A\u8FC7\u6279\u5904\u7406\u529F\u80FD\uFF0Carthas \u652F\u6301\u4E00\u6B21\u6027\u6279\u91CF\u8FD0\u884C\u591A\u4E2A\u547D\u4EE4\uFF0C\u5E76\u53D6\u5F97\u547D\u4EE4\u6267\u884C\u7684\u7ED3\u679C\u3002</p></div><h2 id="\u4F7F\u7528\u65B9\u6CD5" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528\u65B9\u6CD5" aria-hidden="true">#</a> \u4F7F\u7528\u65B9\u6CD5</h2><h3 id="\u7B2C\u4E00\u6B65-\u521B\u5EFA\u4F60\u7684\u6279\u5904\u7406\u811A\u672C" tabindex="-1"><a class="header-anchor" href="#\u7B2C\u4E00\u6B65-\u521B\u5EFA\u4F60\u7684\u6279\u5904\u7406\u811A\u672C" aria-hidden="true">#</a> \u7B2C\u4E00\u6B65\uFF1A \u521B\u5EFA\u4F60\u7684\u6279\u5904\u7406\u811A\u672C</h3><p>\u8FD9\u91CC\u6211\u4EEC\u65B0\u5EFA\u4E86\u4E00\u4E2A<code>test.as</code>\u811A\u672C\uFF0C\u4E3A\u4E86\u89C4\u8303\uFF0C\u6211\u4EEC\u91C7\u7528\u4E86.as \u540E\u7F00\u540D\uFF0C\u4F46\u4E8B\u5B9E\u4E0A\u4EFB\u610F\u7684\u6587\u672C\u6587\u4EF6\u90FD ok\u3002</p>',5),h={class:"custom-container tip"},u=e("p",{class:"custom-container-title"},"\u63D0\u793A",-1),m=e("li",null,"\u76EE\u524D\u9700\u8981\u6BCF\u4E2A\u547D\u4EE4\u5360\u4E00\u884C",-1),v=e("li",null,[s("dashboard \u52A1\u5FC5\u6307\u5B9A\u6267\u884C\u6B21\u6570("),e("code",null,"-n"),s(")\uFF0C\u5426\u5219\u4F1A\u5BFC\u81F4\u6279\u5904\u7406\u811A\u672C\u65E0\u6CD5\u7EC8\u6B62")],-1),_=e("li",null,[s("watch/tt/trace/monitor/stack \u7B49\u547D\u4EE4\u52A1\u5FC5\u6307\u5B9A\u6267\u884C\u6B21\u6570("),e("code",null,"-n"),s(")\uFF0C\u5426\u5219\u4F1A\u5BFC\u81F4\u6279\u5904\u7406\u811A\u672C\u65E0\u6CD5\u7EC8\u6B62")],-1),b=s("\u53EF\u4EE5\u4F7F\u7528\u5F02\u6B65\u540E\u53F0\u4EFB\u52A1\uFF0C\u5982 "),g=e("code",null,"watch c.t.X test returnObj > &",-1),k=s("\uFF0C\u8BA9\u547D\u4EE4\u4E00\u76F4\u5728\u540E\u53F0\u8FD0\u884C\uFF0C\u901A\u8FC7\u65E5\u5FD7\u83B7\u53D6\u7ED3\u679C\uFF0C"),x=s("\u83B7\u53D6\u66F4\u591A\u5F02\u6B65\u4EFB\u52A1\u7684\u4FE1\u606F"),f=a(`<div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>\u279C arthas git:(develop) cat /var/tmp/test.as
help
dashboard -n 1
session
thread
sc -d org.apache.commons.lang.StringUtils
</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><h3 id="\u7B2C\u4E8C\u6B65-\u8FD0\u884C\u4F60\u7684\u6279\u5904\u7406\u811A\u672C" tabindex="-1"><a class="header-anchor" href="#\u7B2C\u4E8C\u6B65-\u8FD0\u884C\u4F60\u7684\u6279\u5904\u7406\u811A\u672C" aria-hidden="true">#</a> \u7B2C\u4E8C\u6B65\uFF1A \u8FD0\u884C\u4F60\u7684\u6279\u5904\u7406\u811A\u672C</h3><p>\u901A\u8FC7<code>-f</code>\u6267\u884C\u811A\u672C\u6587\u4EF6\uFF0C \u6279\u5904\u7406\u811A\u672C\u9ED8\u8BA4\u4F1A\u8F93\u51FA\u5230\u6807\u51C6\u8F93\u51FA\u4E2D\uFF0C\u53EF\u4EE5\u5C06\u7ED3\u679C\u91CD\u5B9A\u5411\u5230\u6587\u4EF6\u4E2D\u3002</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>./as.sh -f /var/tmp/test.as <span class="token operator">&lt;</span>pid<span class="token operator">&gt;</span> <span class="token operator">&gt;</span> test.out <span class="token comment"># pid \u53EF\u4EE5\u901A\u8FC7 jps \u547D\u4EE4\u67E5\u770B</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>\u4E5F\u53EF\u4EE5\u901A\u8FC7 <code>-c</code> \u6765\u6307\u5B9A\u6307\u884C\u7684\u547D\u4EE4\uFF0C\u6BD4\u5982</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>./as.sh -c <span class="token string">&#39;sysprop; thread&#39;</span> <span class="token operator">&lt;</span>pid<span class="token operator">&gt;</span> <span class="token operator">&gt;</span> test.out <span class="token comment"># pid \u53EF\u4EE5\u901A\u8FC7 jps \u547D\u4EE4\u67E5\u770B</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></div><h3 id="\u7B2C\u4E8C\u6B65-\u8FD0\u884C\u4F60\u7684\u6279\u5904\u7406\u811A\u672C" tabindex="-1"><a class="header-anchor" href="#\u7B2C\u4E8C\u6B65-\u8FD0\u884C\u4F60\u7684\u6279\u5904\u7406\u811A\u672C" aria-hidden="true">#</a> \u7B2C\u4E8C\u6B65\uFF1A \u8FD0\u884C\u4F60\u7684\u6279\u5904\u7406\u811A\u672C</h3><p>\u901A\u8FC7<code>-f</code>\u6267\u884C\u811A\u672C\u6587\u4EF6\uFF0C \u6279\u5904\u7406\u811A\u672C\u9ED8\u8BA4\u4F1A\u8F93\u51FA\u5230\u6807\u51C6\u8F93\u51FA\u4E2D\uFF0C\u53EF\u4EE5\u5C06\u7ED3\u679C\u91CD\u5B9A\u5411\u5230\u6587\u4EF6\u4E2D\u3002</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>./as.sh <span class="token parameter variable">-f</span> /var/tmp/test.as <span class="token operator">&lt;</span>pid<span class="token operator">&gt;</span> <span class="token operator">&gt;</span> test.out <span class="token comment"># pid \u53EF\u4EE5\u901A\u8FC7 jps \u547D\u4EE4\u67E5\u770B</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>\u4E5F\u53EF\u4EE5\u901A\u8FC7 <code>-c</code> \u6765\u6307\u5B9A\u6307\u884C\u7684\u547D\u4EE4\uFF0C\u6BD4\u5982</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>./as.sh <span class="token parameter variable">-c</span> <span class="token string">&#39;sysprop; thread&#39;</span> <span class="token operator">&lt;</span>pid<span class="token operator">&gt;</span> <span class="token operator">&gt;</span> test.out <span class="token comment"># pid \u53EF\u4EE5\u901A\u8FC7 jps \u547D\u4EE4\u67E5\u770B</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="\u7B2C\u4E09\u6B65-\u67E5\u770B\u8FD0\u884C\u7ED3\u679C" tabindex="-1"><a class="header-anchor" href="#\u7B2C\u4E09\u6B65-\u67E5\u770B\u8FD0\u884C\u7ED3\u679C" aria-hidden="true">#</a> \u7B2C\u4E09\u6B65\uFF1A \u67E5\u770B\u8FD0\u884C\u7ED3\u679C</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">cat</span> test.out
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,8);function w(N,V){const n=r("RouterLink");return d(),i("div",null,[h,e("div",p,[u,e("ul",null,[v,m,_,e("li",null,[b,g,x,o(n,{to:"/doc/async.html"},{default:c(()=>[f]),_:1})])])]),k])}var B=t(l,[["render",w],["__file","batch-support.html.vue"]]);export{B as default};
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,8);function w(N,V){const n=r("RouterLink");return i(),d("div",null,[p,e("div",h,[u,e("ul",null,[m,v,_,e("li",null,[b,g,k,o(n,{to:"/doc/async.html"},{default:c(()=>[x]),_:1})])])]),f])}const B=t(l,[["render",w],["__file","batch-support.html.vue"]]);export{B as default};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-765e30be","path":"/en/doc/batch-support.html","title":"Batch Processing","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Usage","slug":"usage","children":[{"level":3,"title":"Step 1: Create the script","slug":"step-1-create-the-script","children":[]},{"level":3,"title":"Step 2: Run the script","slug":"step-2-run-the-script","children":[]},{"level":3,"title":"Step 3: Check the output","slug":"step-3-check-the-output","children":[]}]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/batch-support.md","version":"3.6.5"}');export{e as data};
@@ -1,2 +1,2 @@
import{_ as n,o as s,c,a as e,b as o,e as a,d as r,r as i}from"./app.e9adadd6.js";const d={},l=e("h1",{id:"cat",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#cat","aria-hidden":"true"},"#"),a(" cat")],-1),h={href:"https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-cat",target:"_blank",rel:"noopener noreferrer"},_=e("code",null,"cat",-1),u=a(" online tutorial"),p=r(`<div class="custom-container tip"><p class="custom-container-title">TIP</p><p>Concatenate and print files</p></div><h2 id="usage" tabindex="-1"><a class="header-anchor" href="#usage" aria-hidden="true">#</a> Usage</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">cat</span> /tmp/a.txt
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,3);function m(f,v){const t=i("ExternalLinkIcon");return s(),c("div",null,[l,e("p",null,[e("a",h,[_,u,o(t)])]),p])}var x=n(d,[["render",m],["__file","cat.html.vue"]]);export{x as default};
import{_ as n,o as s,c,a as e,b as o,e as a,d as r,r as i}from"./app.a799ec6e.js";const d={},l=e("h1",{id:"cat",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#cat","aria-hidden":"true"},"#"),a(" cat")],-1),h={href:"https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-cat",target:"_blank",rel:"noopener noreferrer"},_=e("code",null,"cat",-1),u=a(" online tutorial"),p=r(`<div class="custom-container tip"><p class="custom-container-title">TIP</p><p>Concatenate and print files</p></div><h2 id="usage" tabindex="-1"><a class="header-anchor" href="#usage" aria-hidden="true">#</a> Usage</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">cat</span> /tmp/a.txt
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,3);function m(f,v){const t=i("ExternalLinkIcon");return s(),c("div",null,[l,e("p",null,[e("a",h,[_,u,o(t)])]),p])}const x=n(d,[["render",m],["__file","cat.html.vue"]]);export{x as default};
-1
View File
@@ -1 +0,0 @@
const a=JSON.parse('{"key":"v-6542b733","path":"/doc/cat.html","title":"cat","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u4F7F\u7528\u53C2\u8003","slug":"\u4F7F\u7528\u53C2\u8003","children":[]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/cat.md","version":"3.6.5"}');export{a as data};
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-64a0cd47","path":"/en/doc/cat.html","title":"cat","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Usage","slug":"usage","link":"#usage","children":[]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/cat.md","version":"3.6.5"}');export{e as data};
@@ -1,2 +1,2 @@
import{_ as n,o as c,c as s,a as e,b as o,e as a,d as r,r as i}from"./app.e9adadd6.js";const d={},l=e("h1",{id:"cat",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#cat","aria-hidden":"true"},"#"),a(" cat")],-1),h={href:"https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-cat",target:"_blank",rel:"noopener noreferrer"},_=e("code",null,"cat",-1),u=a("\u5728\u7EBF\u6559\u7A0B"),m=r(`<div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>\u6253\u5370\u6587\u4EF6\u5185\u5BB9\uFF0C\u548C linux \u91CC\u7684 cat \u547D\u4EE4\u7C7B\u4F3C\u3002</p></div><h2 id="\u4F7F\u7528\u53C2\u8003" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528\u53C2\u8003" aria-hidden="true">#</a> \u4F7F\u7528\u53C2\u8003</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">cat</span> /tmp/a.txt
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,3);function p(f,v){const t=i("ExternalLinkIcon");return c(),s("div",null,[l,e("p",null,[e("a",h,[_,u,o(t)])]),m])}var b=n(d,[["render",p],["__file","cat.html.vue"]]);export{b as default};
import{_ as n,o as c,c as s,a as e,b as o,e as a,d as r,r as i}from"./app.a799ec6e.js";const d={},l=e("h1",{id:"cat",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#cat","aria-hidden":"true"},"#"),a(" cat")],-1),h={href:"https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-cat",target:"_blank",rel:"noopener noreferrer"},_=e("code",null,"cat",-1),u=a("\u5728\u7EBF\u6559\u7A0B"),m=r(`<div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>\u6253\u5370\u6587\u4EF6\u5185\u5BB9\uFF0C\u548C linux \u91CC\u7684 cat \u547D\u4EE4\u7C7B\u4F3C\u3002</p></div><h2 id="\u4F7F\u7528\u53C2\u8003" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528\u53C2\u8003" aria-hidden="true">#</a> \u4F7F\u7528\u53C2\u8003</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">cat</span> /tmp/a.txt
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div>`,3);function p(f,v){const t=i("ExternalLinkIcon");return c(),s("div",null,[l,e("p",null,[e("a",h,[_,u,o(t)])]),m])}const b=n(d,[["render",p],["__file","cat.html.vue"]]);export{b as default};
+1
View File
@@ -0,0 +1 @@
const a=JSON.parse('{"key":"v-6542b733","path":"/doc/cat.html","title":"cat","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u4F7F\u7528\u53C2\u8003","slug":"\u4F7F\u7528\u53C2\u8003","link":"#\u4F7F\u7528\u53C2\u8003","children":[]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/cat.md","version":"3.6.5"}');export{a as data};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-64a0cd47","path":"/en/doc/cat.html","title":"cat","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Usage","slug":"usage","children":[]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/cat.md","version":"3.6.5"}');export{e as data};
@@ -1,4 +1,4 @@
import{_ as n,o as l,c as i,a as s,b as t,e as a,d as r,r as d}from"./app.e9adadd6.js";const c={},o=s("h1",{id:"classloader",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#classloader","aria-hidden":"true"},"#"),a(" classloader")],-1),u={href:"https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=command-classloader",target:"_blank",rel:"noopener noreferrer"},v=s("code",null,"classloader",-1),m=a(" online tutorial"),h=r(`<div class="custom-container tip"><p class="custom-container-title">TIP</p><p>View hierarchy, urls and classes-loading info for the class-loaders.</p></div><p><code>classloader</code> can search and print out the URLs for a specified resource from one particular classloader. It is quite handy when analyzing <code>ResourceNotFoundException</code>.</p><h2 id="options" tabindex="-1"><a class="header-anchor" href="#options" aria-hidden="true">#</a> Options</h2><table><thead><tr><th style="text-align:right;">Name</th><th style="text-align:left;">Specification</th></tr></thead><tbody><tr><td style="text-align:right;">[l]</td><td style="text-align:left;">list all classloader instances</td></tr><tr><td style="text-align:right;">[t]</td><td style="text-align:left;">print classloader&#39;s hierarchy</td></tr><tr><td style="text-align:right;">[a]</td><td style="text-align:left;">list all the classes loaded by all the classloaders (use it with great caution since the output can be huge)</td></tr><tr><td style="text-align:right;">[c:]</td><td style="text-align:left;">print classloader&#39;s hashcode</td></tr><tr><td style="text-align:right;"><code>[classLoaderClass:]</code></td><td style="text-align:left;">The class name of the ClassLoader that executes the expression.</td></tr><tr><td style="text-align:right;"><code>[c: r:]</code></td><td style="text-align:left;">using ClassLoader to search resource</td></tr><tr><td style="text-align:right;"><code>[c: load:]</code></td><td style="text-align:left;">using ClassLoader to load class</td></tr></tbody></table><h2 id="usage" tabindex="-1"><a class="header-anchor" href="#usage" aria-hidden="true">#</a> Usage</h2><h3 id="view-statistics-categorized-by-class-type" tabindex="-1"><a class="header-anchor" href="#view-statistics-categorized-by-class-type" aria-hidden="true">#</a> View statistics categorized by class type</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader
import{_ as n,o as l,c as i,a,b as t,e as s,d as r,r as d}from"./app.a799ec6e.js";const c={},o=a("h1",{id:"classloader",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#classloader","aria-hidden":"true"},"#"),s(" classloader")],-1),u={href:"https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=command-classloader",target:"_blank",rel:"noopener noreferrer"},p=a("code",null,"classloader",-1),m=s(" online tutorial"),v=r(`<div class="custom-container tip"><p class="custom-container-title">TIP</p><p>View hierarchy, urls and classes-loading info for the class-loaders.</p></div><p><code>classloader</code> can search and print out the URLs for a specified resource from one particular classloader. It is quite handy when analyzing <code>ResourceNotFoundException</code>.</p><h2 id="options" tabindex="-1"><a class="header-anchor" href="#options" aria-hidden="true">#</a> Options</h2><table><thead><tr><th style="text-align:right;">Name</th><th style="text-align:left;">Specification</th></tr></thead><tbody><tr><td style="text-align:right;">[l]</td><td style="text-align:left;">list all classloader instances</td></tr><tr><td style="text-align:right;">[t]</td><td style="text-align:left;">print classloader&#39;s hierarchy</td></tr><tr><td style="text-align:right;">[a]</td><td style="text-align:left;">list all the classes loaded by all the classloaders (use it with great caution since the output can be huge)</td></tr><tr><td style="text-align:right;">[c:]</td><td style="text-align:left;">print classloader&#39;s hashcode</td></tr><tr><td style="text-align:right;"><code>[classLoaderClass:]</code></td><td style="text-align:left;">The class name of the ClassLoader that executes the expression.</td></tr><tr><td style="text-align:right;"><code>[c: r:]</code></td><td style="text-align:left;">using ClassLoader to search resource</td></tr><tr><td style="text-align:right;"><code>[c: load:]</code></td><td style="text-align:left;">using ClassLoader to load class</td></tr></tbody></table><h2 id="usage" tabindex="-1"><a class="header-anchor" href="#usage" aria-hidden="true">#</a> Usage</h2><h3 id="view-statistics-categorized-by-class-type" tabindex="-1"><a class="header-anchor" href="#view-statistics-categorized-by-class-type" aria-hidden="true">#</a> View statistics categorized by class type</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader
name numberOfInstances loadedCountTotal
com.taobao.arthas.agent.ArthasClassloader <span class="token number">1</span> <span class="token number">2115</span>
BootstrapClassLoader <span class="token number">1</span> <span class="token number">1861</span>
@@ -6,36 +6,36 @@ import{_ as n,o as l,c as i,a as s,b as t,e as a,d as r,r as d}from"./app.e9adad
sun.misc.Launcher<span class="token variable">$AppClassLoader</span> <span class="token number">1</span> <span class="token number">4</span>
sun.misc.Launcher<span class="token variable">$ExtClassLoader</span> <span class="token number">1</span> <span class="token number">1</span>
Affect<span class="token punctuation">(</span>row-cnt:5<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">3</span> ms.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="view-statistics-categorized-by-loaded-classes-number" tabindex="-1"><a class="header-anchor" href="#view-statistics-categorized-by-loaded-classes-number" aria-hidden="true">#</a> View statistics categorized by loaded classes number</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader -l
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="view-statistics-categorized-by-loaded-classes-number" tabindex="-1"><a class="header-anchor" href="#view-statistics-categorized-by-loaded-classes-number" aria-hidden="true">#</a> View statistics categorized by loaded classes number</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader <span class="token parameter variable">-l</span>
name loadedCount <span class="token builtin class-name">hash</span> parent
BootstrapClassLoader <span class="token number">1861</span> null null
com.taobao.arthas.agent.ArthasClassloader@68b31f0a <span class="token number">2115</span> 68b31f0a sun.misc.Launcher<span class="token variable">$ExtClassLoader</span>@66350f69
sun.misc.Launcher<span class="token variable">$AppClassLoader</span>@3d4eac69 <span class="token number">4</span> 3d4eac69 sun.misc.Launcher<span class="token variable">$ExtClassLoader</span>@66350f69
sun.misc.Launcher<span class="token variable">$ExtClassLoader</span>@66350f69 <span class="token number">1</span> 66350f69 null
Affect<span class="token punctuation">(</span>row-cnt:4<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">2</span> ms.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="view-class-loaders-hierarchy" tabindex="-1"><a class="header-anchor" href="#view-class-loaders-hierarchy" aria-hidden="true">#</a> View class-loaders hierarchy</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader -t
</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><h3 id="view-class-loaders-hierarchy" tabindex="-1"><a class="header-anchor" href="#view-class-loaders-hierarchy" aria-hidden="true">#</a> View class-loaders hierarchy</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader <span class="token parameter variable">-t</span>
+-BootstrapClassLoader
+-sun.misc.Launcher<span class="token variable">$ExtClassLoader</span>@66350f69
+-com.taobao.arthas.agent.ArthasClassloader@68b31f0a
+-sun.misc.Launcher<span class="token variable">$AppClassLoader</span>@3d4eac69
Affect<span class="token punctuation">(</span>row-cnt:4<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">3</span> ms.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="show-the-urls-of-the-urlclassloader" tabindex="-1"><a class="header-anchor" href="#show-the-urls-of-the-urlclassloader" aria-hidden="true">#</a> Show the URLs of the URLClassLoader</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader -c 3d4eac69
</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><h3 id="show-the-urls-of-the-urlclassloader" tabindex="-1"><a class="header-anchor" href="#show-the-urls-of-the-urlclassloader" aria-hidden="true">#</a> Show the URLs of the URLClassLoader</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader <span class="token parameter variable">-c</span> 3d4eac69
file:/private/tmp/math-game.jar
file:/Users/hengyunabc/.arthas/lib/3.0.5/arthas/arthas-agent.jar
Affect<span class="token punctuation">(</span>row-cnt:9<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">3</span> ms.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Note that the hashcode changes, you need to check the current ClassLoader information first, and extract the hashcode corresponding to the ClassLoader.</p><p>For ClassLoader with only unique instance, it can be specified by class name, which is more convenient to use:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader --classLoaderClass sun.misc.Launcher<span class="token variable">$AppClassLoader</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></div><p>Note that the hashcode changes, you need to check the current ClassLoader information first, and extract the hashcode corresponding to the ClassLoader.</p><p>For ClassLoader with only unique instance, it can be specified by class name, which is more convenient to use:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader <span class="token parameter variable">--classLoaderClass</span> sun.misc.Launcher<span class="token variable">$AppClassLoader</span>
file:/private/tmp/math-game.jar
file:/Users/hengyunabc/.arthas/lib/3.0.5/arthas/arthas-agent.jar
Affect<span class="token punctuation">(</span>row-cnt:9<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">3</span> ms.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="use-the-classloader-to-load-resource" tabindex="-1"><a class="header-anchor" href="#use-the-classloader-to-load-resource" aria-hidden="true">#</a> Use the classloader to load resource</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader -c 3d4eac69 -r META-INF/MANIFEST.MF
</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></div><h3 id="use-the-classloader-to-load-resource" tabindex="-1"><a class="header-anchor" href="#use-the-classloader-to-load-resource" aria-hidden="true">#</a> Use the classloader to load resource</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader <span class="token parameter variable">-c</span> 3d4eac69 <span class="token parameter variable">-r</span> META-INF/MANIFEST.MF
jar:file:/System/Library/Java/Extensions/MRJToolkit.jar<span class="token operator">!</span>/META-INF/MANIFEST.MF
jar:file:/private/tmp/math-game.jar<span class="token operator">!</span>/META-INF/MANIFEST.MF
jar:file:/Users/hengyunabc/.arthas/lib/3.0.5/arthas/arthas-agent.jar<span class="token operator">!</span>/META-INF/MANIFEST.MF
</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></div><p>Use the classloader to load <code>.class</code> resource</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader -c 1b6d3586 -r java/lang/String.class
</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></div><p>Use the classloader to load <code>.class</code> resource</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader <span class="token parameter variable">-c</span> 1b6d3586 <span class="token parameter variable">-r</span> java/lang/String.class
jar:file:/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/lib/rt.jar<span class="token operator">!</span>/java/lang/String.class
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="use-the-classloader-to-load-class" tabindex="-1"><a class="header-anchor" href="#use-the-classloader-to-load-class" aria-hidden="true">#</a> Use the classloader to load class</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader -c 3d4eac69 --load demo.MathGame
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="use-the-classloader-to-load-class" tabindex="-1"><a class="header-anchor" href="#use-the-classloader-to-load-class" aria-hidden="true">#</a> Use the classloader to load class</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader <span class="token parameter variable">-c</span> 3d4eac69 <span class="token parameter variable">--load</span> demo.MathGame
load class success.
class-info demo.MathGame
code-source /private/tmp/math-game.jar
@@ -84,4 +84,4 @@ load class success.
file:/tmp/jdk1.8/Contents/Home/jre/lib/ext/sunpkcs11.jar
file:/tmp/jdk1.8/Contents/Home/jre/lib/ext/jaccess.jar
file:/tmp/jdk1.8/Contents/Home/jre/lib/ext/zipfs.jar
</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></div>`,25);function p(b,g){const e=d("ExternalLinkIcon");return l(),i("div",null,[o,s("p",null,[s("a",u,[v,m,t(e)])]),h])}var k=n(c,[["render",p],["__file","classloader.html.vue"]]);export{k as default};
</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></div>`,25);function h(b,g){const e=d("ExternalLinkIcon");return l(),i("div",null,[o,a("p",null,[a("a",u,[p,m,t(e)])]),v])}const k=n(c,[["render",h],["__file","classloader.html.vue"]]);export{k as default};
+1
View File
@@ -0,0 +1 @@
const l=JSON.parse('{"key":"v-49b1709e","path":"/doc/classloader.html","title":"classloader","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u53C2\u6570\u8BF4\u660E","slug":"\u53C2\u6570\u8BF4\u660E","link":"#\u53C2\u6570\u8BF4\u660E","children":[]},{"level":2,"title":"\u4F7F\u7528\u53C2\u8003","slug":"\u4F7F\u7528\u53C2\u8003","link":"#\u4F7F\u7528\u53C2\u8003","children":[{"level":3,"title":"\u6309\u7C7B\u52A0\u8F7D\u7C7B\u578B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F","slug":"\u6309\u7C7B\u52A0\u8F7D\u7C7B\u578B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F","link":"#\u6309\u7C7B\u52A0\u8F7D\u7C7B\u578B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F","children":[]},{"level":3,"title":"\u6309\u7C7B\u52A0\u8F7D\u5B9E\u4F8B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F","slug":"\u6309\u7C7B\u52A0\u8F7D\u5B9E\u4F8B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F","link":"#\u6309\u7C7B\u52A0\u8F7D\u5B9E\u4F8B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F","children":[]},{"level":3,"title":"\u67E5\u770B ClassLoader \u7684\u7EE7\u627F\u6811","slug":"\u67E5\u770B-classloader-\u7684\u7EE7\u627F\u6811","link":"#\u67E5\u770B-classloader-\u7684\u7EE7\u627F\u6811","children":[]},{"level":3,"title":"\u67E5\u770B URLClassLoader \u5B9E\u9645\u7684 urls","slug":"\u67E5\u770B-urlclassloader-\u5B9E\u9645\u7684-urls","link":"#\u67E5\u770B-urlclassloader-\u5B9E\u9645\u7684-urls","children":[]},{"level":3,"title":"\u4F7F\u7528 ClassLoader \u53BB\u67E5\u627E resource","slug":"\u4F7F\u7528-classloader-\u53BB\u67E5\u627E-resource","link":"#\u4F7F\u7528-classloader-\u53BB\u67E5\u627E-resource","children":[]},{"level":3,"title":"\u4F7F\u7528 ClassLoader \u53BB\u52A0\u8F7D\u7C7B","slug":"\u4F7F\u7528-classloader-\u53BB\u52A0\u8F7D\u7C7B","link":"#\u4F7F\u7528-classloader-\u53BB\u52A0\u8F7D\u7C7B","children":[]},{"level":3,"title":"\u7EDF\u8BA1 ClassLoader \u5B9E\u9645\u4F7F\u7528 URL \u548C\u672A\u4F7F\u7528\u7684 URL","slug":"\u7EDF\u8BA1-classloader-\u5B9E\u9645\u4F7F\u7528-url-\u548C\u672A\u4F7F\u7528\u7684-url","link":"#\u7EDF\u8BA1-classloader-\u5B9E\u9645\u4F7F\u7528-url-\u548C\u672A\u4F7F\u7528\u7684-url","children":[]}]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/classloader.md","version":"3.6.5"}');export{l as data};
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-fc1b9a9c","path":"/en/doc/classloader.html","title":"classloader","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Options","slug":"options","link":"#options","children":[]},{"level":2,"title":"Usage","slug":"usage","link":"#usage","children":[{"level":3,"title":"View statistics categorized by class type","slug":"view-statistics-categorized-by-class-type","link":"#view-statistics-categorized-by-class-type","children":[]},{"level":3,"title":"View statistics categorized by loaded classes number","slug":"view-statistics-categorized-by-loaded-classes-number","link":"#view-statistics-categorized-by-loaded-classes-number","children":[]},{"level":3,"title":"View class-loaders hierarchy","slug":"view-class-loaders-hierarchy","link":"#view-class-loaders-hierarchy","children":[]},{"level":3,"title":"Show the URLs of the URLClassLoader","slug":"show-the-urls-of-the-urlclassloader","link":"#show-the-urls-of-the-urlclassloader","children":[]},{"level":3,"title":"Use the classloader to load resource","slug":"use-the-classloader-to-load-resource","link":"#use-the-classloader-to-load-resource","children":[]},{"level":3,"title":"Use the classloader to load class","slug":"use-the-classloader-to-load-class","link":"#use-the-classloader-to-load-class","children":[]},{"level":3,"title":"Statistics ClassLoader actually used URLs and unused URLs","slug":"statistics-classloader-actually-used-urls-and-unused-urls","link":"#statistics-classloader-actually-used-urls-and-unused-urls","children":[]}]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/classloader.md","version":"3.6.5"}');export{e as data};
@@ -1,4 +1,4 @@
import{_ as n,o as l,c as i,a as s,b as r,e as a,d,r as t}from"./app.e9adadd6.js";const c={},o=s("h1",{id:"classloader",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#classloader","aria-hidden":"true"},"#"),a(" classloader")],-1),u={href:"https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=command-classloader",target:"_blank",rel:"noopener noreferrer"},v=s("code",null,"classloader",-1),m=a("\u5728\u7EBF\u6559\u7A0B"),p=d(`<div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>\u67E5\u770B classloader \u7684\u7EE7\u627F\u6811\uFF0Curls\uFF0C\u7C7B\u52A0\u8F7D\u4FE1\u606F</p></div><p><code>classloader</code> \u547D\u4EE4\u5C06 JVM \u4E2D\u6240\u6709\u7684 classloader \u7684\u4FE1\u606F\u7EDF\u8BA1\u51FA\u6765\uFF0C\u5E76\u53EF\u4EE5\u5C55\u793A\u7EE7\u627F\u6811\uFF0Curls \u7B49\u3002</p><p>\u53EF\u4EE5\u8BA9\u6307\u5B9A\u7684 classloader \u53BB getResources\uFF0C\u6253\u5370\u51FA\u6240\u6709\u67E5\u627E\u5230\u7684 resources \u7684 url\u3002\u5BF9\u4E8E<code>ResourceNotFoundException</code>\u6BD4\u8F83\u6709\u7528\u3002</p><h2 id="\u53C2\u6570\u8BF4\u660E" tabindex="-1"><a class="header-anchor" href="#\u53C2\u6570\u8BF4\u660E" aria-hidden="true">#</a> \u53C2\u6570\u8BF4\u660E</h2><table><thead><tr><th style="text-align:right;">\u53C2\u6570\u540D\u79F0</th><th style="text-align:left;">\u53C2\u6570\u8BF4\u660E</th></tr></thead><tbody><tr><td style="text-align:right;">[l]</td><td style="text-align:left;">\u6309\u7C7B\u52A0\u8F7D\u5B9E\u4F8B\u8FDB\u884C\u7EDF\u8BA1</td></tr><tr><td style="text-align:right;">[t]</td><td style="text-align:left;">\u6253\u5370\u6240\u6709 ClassLoader \u7684\u7EE7\u627F\u6811</td></tr><tr><td style="text-align:right;">[a]</td><td style="text-align:left;">\u5217\u51FA\u6240\u6709 ClassLoader \u52A0\u8F7D\u7684\u7C7B\uFF0C\u8BF7\u8C28\u614E\u4F7F\u7528</td></tr><tr><td style="text-align:right;"><code>[c:]</code></td><td style="text-align:left;">ClassLoader \u7684 hashcode</td></tr><tr><td style="text-align:right;"><code>[classLoaderClass:]</code></td><td style="text-align:left;">\u6307\u5B9A\u6267\u884C\u8868\u8FBE\u5F0F\u7684 ClassLoader \u7684 class name</td></tr><tr><td style="text-align:right;"><code>[c: r:]</code></td><td style="text-align:left;">\u7528 ClassLoader \u53BB\u67E5\u627E resource</td></tr><tr><td style="text-align:right;"><code>[c: load:]</code></td><td style="text-align:left;">\u7528 ClassLoader \u53BB\u52A0\u8F7D\u6307\u5B9A\u7684\u7C7B</td></tr></tbody></table><h2 id="\u4F7F\u7528\u53C2\u8003" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528\u53C2\u8003" aria-hidden="true">#</a> \u4F7F\u7528\u53C2\u8003</h2><h3 id="\u6309\u7C7B\u52A0\u8F7D\u7C7B\u578B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F" tabindex="-1"><a class="header-anchor" href="#\u6309\u7C7B\u52A0\u8F7D\u7C7B\u578B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F" aria-hidden="true">#</a> \u6309\u7C7B\u52A0\u8F7D\u7C7B\u578B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader
import{_ as n,o as l,c as i,a,b as r,e as s,d,r as t}from"./app.a799ec6e.js";const c={},o=a("h1",{id:"classloader",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#classloader","aria-hidden":"true"},"#"),s(" classloader")],-1),u={href:"https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=command-classloader",target:"_blank",rel:"noopener noreferrer"},p=a("code",null,"classloader",-1),v=s("\u5728\u7EBF\u6559\u7A0B"),m=d(`<div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>\u67E5\u770B classloader \u7684\u7EE7\u627F\u6811\uFF0Curls\uFF0C\u7C7B\u52A0\u8F7D\u4FE1\u606F</p></div><p><code>classloader</code> \u547D\u4EE4\u5C06 JVM \u4E2D\u6240\u6709\u7684 classloader \u7684\u4FE1\u606F\u7EDF\u8BA1\u51FA\u6765\uFF0C\u5E76\u53EF\u4EE5\u5C55\u793A\u7EE7\u627F\u6811\uFF0Curls \u7B49\u3002</p><p>\u53EF\u4EE5\u8BA9\u6307\u5B9A\u7684 classloader \u53BB getResources\uFF0C\u6253\u5370\u51FA\u6240\u6709\u67E5\u627E\u5230\u7684 resources \u7684 url\u3002\u5BF9\u4E8E<code>ResourceNotFoundException</code>\u6BD4\u8F83\u6709\u7528\u3002</p><h2 id="\u53C2\u6570\u8BF4\u660E" tabindex="-1"><a class="header-anchor" href="#\u53C2\u6570\u8BF4\u660E" aria-hidden="true">#</a> \u53C2\u6570\u8BF4\u660E</h2><table><thead><tr><th style="text-align:right;">\u53C2\u6570\u540D\u79F0</th><th style="text-align:left;">\u53C2\u6570\u8BF4\u660E</th></tr></thead><tbody><tr><td style="text-align:right;">[l]</td><td style="text-align:left;">\u6309\u7C7B\u52A0\u8F7D\u5B9E\u4F8B\u8FDB\u884C\u7EDF\u8BA1</td></tr><tr><td style="text-align:right;">[t]</td><td style="text-align:left;">\u6253\u5370\u6240\u6709 ClassLoader \u7684\u7EE7\u627F\u6811</td></tr><tr><td style="text-align:right;">[a]</td><td style="text-align:left;">\u5217\u51FA\u6240\u6709 ClassLoader \u52A0\u8F7D\u7684\u7C7B\uFF0C\u8BF7\u8C28\u614E\u4F7F\u7528</td></tr><tr><td style="text-align:right;"><code>[c:]</code></td><td style="text-align:left;">ClassLoader \u7684 hashcode</td></tr><tr><td style="text-align:right;"><code>[classLoaderClass:]</code></td><td style="text-align:left;">\u6307\u5B9A\u6267\u884C\u8868\u8FBE\u5F0F\u7684 ClassLoader \u7684 class name</td></tr><tr><td style="text-align:right;"><code>[c: r:]</code></td><td style="text-align:left;">\u7528 ClassLoader \u53BB\u67E5\u627E resource</td></tr><tr><td style="text-align:right;"><code>[c: load:]</code></td><td style="text-align:left;">\u7528 ClassLoader \u53BB\u52A0\u8F7D\u6307\u5B9A\u7684\u7C7B</td></tr></tbody></table><h2 id="\u4F7F\u7528\u53C2\u8003" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528\u53C2\u8003" aria-hidden="true">#</a> \u4F7F\u7528\u53C2\u8003</h2><h3 id="\u6309\u7C7B\u52A0\u8F7D\u7C7B\u578B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F" tabindex="-1"><a class="header-anchor" href="#\u6309\u7C7B\u52A0\u8F7D\u7C7B\u578B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F" aria-hidden="true">#</a> \u6309\u7C7B\u52A0\u8F7D\u7C7B\u578B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader
name numberOfInstances loadedCountTotal
com.taobao.arthas.agent.ArthasClassloader <span class="token number">1</span> <span class="token number">2115</span>
BootstrapClassLoader <span class="token number">1</span> <span class="token number">1861</span>
@@ -6,36 +6,36 @@ import{_ as n,o as l,c as i,a as s,b as r,e as a,d,r as t}from"./app.e9adadd6.js
sun.misc.Launcher<span class="token variable">$AppClassLoader</span> <span class="token number">1</span> <span class="token number">4</span>
sun.misc.Launcher<span class="token variable">$ExtClassLoader</span> <span class="token number">1</span> <span class="token number">1</span>
Affect<span class="token punctuation">(</span>row-cnt:5<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">3</span> ms.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="\u6309\u7C7B\u52A0\u8F7D\u5B9E\u4F8B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F" tabindex="-1"><a class="header-anchor" href="#\u6309\u7C7B\u52A0\u8F7D\u5B9E\u4F8B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F" aria-hidden="true">#</a> \u6309\u7C7B\u52A0\u8F7D\u5B9E\u4F8B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader -l
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="\u6309\u7C7B\u52A0\u8F7D\u5B9E\u4F8B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F" tabindex="-1"><a class="header-anchor" href="#\u6309\u7C7B\u52A0\u8F7D\u5B9E\u4F8B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F" aria-hidden="true">#</a> \u6309\u7C7B\u52A0\u8F7D\u5B9E\u4F8B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader <span class="token parameter variable">-l</span>
name loadedCount <span class="token builtin class-name">hash</span> parent
BootstrapClassLoader <span class="token number">1861</span> null null
com.taobao.arthas.agent.ArthasClassloader@68b31f0a <span class="token number">2115</span> 68b31f0a sun.misc.Launcher<span class="token variable">$ExtClassLoader</span>@66350f69
sun.misc.Launcher<span class="token variable">$AppClassLoader</span>@3d4eac69 <span class="token number">4</span> 3d4eac69 sun.misc.Launcher<span class="token variable">$ExtClassLoader</span>@66350f69
sun.misc.Launcher<span class="token variable">$ExtClassLoader</span>@66350f69 <span class="token number">1</span> 66350f69 null
Affect<span class="token punctuation">(</span>row-cnt:4<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">2</span> ms.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="\u67E5\u770B-classloader-\u7684\u7EE7\u627F\u6811" tabindex="-1"><a class="header-anchor" href="#\u67E5\u770B-classloader-\u7684\u7EE7\u627F\u6811" aria-hidden="true">#</a> \u67E5\u770B ClassLoader \u7684\u7EE7\u627F\u6811</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader -t
</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><h3 id="\u67E5\u770B-classloader-\u7684\u7EE7\u627F\u6811" tabindex="-1"><a class="header-anchor" href="#\u67E5\u770B-classloader-\u7684\u7EE7\u627F\u6811" aria-hidden="true">#</a> \u67E5\u770B ClassLoader \u7684\u7EE7\u627F\u6811</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader <span class="token parameter variable">-t</span>
+-BootstrapClassLoader
+-sun.misc.Launcher<span class="token variable">$ExtClassLoader</span>@66350f69
+-com.taobao.arthas.agent.ArthasClassloader@68b31f0a
+-sun.misc.Launcher<span class="token variable">$AppClassLoader</span>@3d4eac69
Affect<span class="token punctuation">(</span>row-cnt:4<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">3</span> ms.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="\u67E5\u770B-urlclassloader-\u5B9E\u9645\u7684-urls" tabindex="-1"><a class="header-anchor" href="#\u67E5\u770B-urlclassloader-\u5B9E\u9645\u7684-urls" aria-hidden="true">#</a> \u67E5\u770B URLClassLoader \u5B9E\u9645\u7684 urls</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader -c 3d4eac69
</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><h3 id="\u67E5\u770B-urlclassloader-\u5B9E\u9645\u7684-urls" tabindex="-1"><a class="header-anchor" href="#\u67E5\u770B-urlclassloader-\u5B9E\u9645\u7684-urls" aria-hidden="true">#</a> \u67E5\u770B URLClassLoader \u5B9E\u9645\u7684 urls</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader <span class="token parameter variable">-c</span> 3d4eac69
file:/private/tmp/math-game.jar
file:/Users/hengyunabc/.arthas/lib/3.0.5/arthas/arthas-agent.jar
Affect<span class="token punctuation">(</span>row-cnt:9<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">3</span> ms.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><em>\u6CE8\u610F</em> hashcode \u662F\u53D8\u5316\u7684\uFF0C\u9700\u8981\u5148\u67E5\u770B\u5F53\u524D\u7684 ClassLoader \u4FE1\u606F\uFF0C\u63D0\u53D6\u5BF9\u5E94 ClassLoader \u7684 hashcode\u3002</p><p>\u5BF9\u4E8E\u53EA\u6709\u552F\u4E00\u5B9E\u4F8B\u7684 ClassLoader \u53EF\u4EE5\u901A\u8FC7 class name \u6307\u5B9A\uFF0C\u4F7F\u7528\u8D77\u6765\u66F4\u52A0\u65B9\u4FBF\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader --classLoaderClass sun.misc.Launcher<span class="token variable">$AppClassLoader</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></div><p><em>\u6CE8\u610F</em> hashcode \u662F\u53D8\u5316\u7684\uFF0C\u9700\u8981\u5148\u67E5\u770B\u5F53\u524D\u7684 ClassLoader \u4FE1\u606F\uFF0C\u63D0\u53D6\u5BF9\u5E94 ClassLoader \u7684 hashcode\u3002</p><p>\u5BF9\u4E8E\u53EA\u6709\u552F\u4E00\u5B9E\u4F8B\u7684 ClassLoader \u53EF\u4EE5\u901A\u8FC7 class name \u6307\u5B9A\uFF0C\u4F7F\u7528\u8D77\u6765\u66F4\u52A0\u65B9\u4FBF\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader <span class="token parameter variable">--classLoaderClass</span> sun.misc.Launcher<span class="token variable">$AppClassLoader</span>
file:/private/tmp/math-game.jar
file:/Users/hengyunabc/.arthas/lib/3.0.5/arthas/arthas-agent.jar
Affect<span class="token punctuation">(</span>row-cnt:9<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">3</span> ms.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="\u4F7F\u7528-classloader-\u53BB\u67E5\u627E-resource" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528-classloader-\u53BB\u67E5\u627E-resource" aria-hidden="true">#</a> \u4F7F\u7528 ClassLoader \u53BB\u67E5\u627E resource</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader -c 3d4eac69 -r META-INF/MANIFEST.MF
</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></div><h3 id="\u4F7F\u7528-classloader-\u53BB\u67E5\u627E-resource" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528-classloader-\u53BB\u67E5\u627E-resource" aria-hidden="true">#</a> \u4F7F\u7528 ClassLoader \u53BB\u67E5\u627E resource</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader <span class="token parameter variable">-c</span> 3d4eac69 <span class="token parameter variable">-r</span> META-INF/MANIFEST.MF
jar:file:/System/Library/Java/Extensions/MRJToolkit.jar<span class="token operator">!</span>/META-INF/MANIFEST.MF
jar:file:/private/tmp/math-game.jar<span class="token operator">!</span>/META-INF/MANIFEST.MF
jar:file:/Users/hengyunabc/.arthas/lib/3.0.5/arthas/arthas-agent.jar<span class="token operator">!</span>/META-INF/MANIFEST.MF
</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></div><p>\u4E5F\u53EF\u4EE5\u5C1D\u8BD5\u67E5\u627E\u7C7B\u7684 class \u6587\u4EF6\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader -c 1b6d3586 -r java/lang/String.class
</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></div><p>\u4E5F\u53EF\u4EE5\u5C1D\u8BD5\u67E5\u627E\u7C7B\u7684 class \u6587\u4EF6\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader <span class="token parameter variable">-c</span> 1b6d3586 <span class="token parameter variable">-r</span> java/lang/String.class
jar:file:/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/lib/rt.jar<span class="token operator">!</span>/java/lang/String.class
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="\u4F7F\u7528-classloader-\u53BB\u52A0\u8F7D\u7C7B" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528-classloader-\u53BB\u52A0\u8F7D\u7C7B" aria-hidden="true">#</a> \u4F7F\u7528 ClassLoader \u53BB\u52A0\u8F7D\u7C7B</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader -c 3d4eac69 --load demo.MathGame
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="\u4F7F\u7528-classloader-\u53BB\u52A0\u8F7D\u7C7B" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528-classloader-\u53BB\u52A0\u8F7D\u7C7B" aria-hidden="true">#</a> \u4F7F\u7528 ClassLoader \u53BB\u52A0\u8F7D\u7C7B</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ classloader <span class="token parameter variable">-c</span> 3d4eac69 <span class="token parameter variable">--load</span> demo.MathGame
load class success.
class-info demo.MathGame
code-source /private/tmp/math-game.jar
@@ -84,4 +84,4 @@ load class success.
file:/tmp/jdk1.8/Contents/Home/jre/lib/ext/sunpkcs11.jar
file:/tmp/jdk1.8/Contents/Home/jre/lib/ext/jaccess.jar
file:/tmp/jdk1.8/Contents/Home/jre/lib/ext/zipfs.jar
</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></div>`,26);function b(h,g){const e=t("ExternalLinkIcon");return l(),i("div",null,[o,s("p",null,[s("a",u,[v,m,r(e)])]),p])}var k=n(c,[["render",b],["__file","classloader.html.vue"]]);export{k as default};
</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></div>`,26);function b(h,k){const e=t("ExternalLinkIcon");return l(),i("div",null,[o,a("p",null,[a("a",u,[p,v,r(e)])]),m])}const f=n(c,[["render",b],["__file","classloader.html.vue"]]);export{f as default};
-1
View File
@@ -1 +0,0 @@
const l=JSON.parse('{"key":"v-49b1709e","path":"/doc/classloader.html","title":"classloader","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u53C2\u6570\u8BF4\u660E","slug":"\u53C2\u6570\u8BF4\u660E","children":[]},{"level":2,"title":"\u4F7F\u7528\u53C2\u8003","slug":"\u4F7F\u7528\u53C2\u8003","children":[{"level":3,"title":"\u6309\u7C7B\u52A0\u8F7D\u7C7B\u578B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F","slug":"\u6309\u7C7B\u52A0\u8F7D\u7C7B\u578B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F","children":[]},{"level":3,"title":"\u6309\u7C7B\u52A0\u8F7D\u5B9E\u4F8B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F","slug":"\u6309\u7C7B\u52A0\u8F7D\u5B9E\u4F8B\u67E5\u770B\u7EDF\u8BA1\u4FE1\u606F","children":[]},{"level":3,"title":"\u67E5\u770B ClassLoader \u7684\u7EE7\u627F\u6811","slug":"\u67E5\u770B-classloader-\u7684\u7EE7\u627F\u6811","children":[]},{"level":3,"title":"\u67E5\u770B URLClassLoader \u5B9E\u9645\u7684 urls","slug":"\u67E5\u770B-urlclassloader-\u5B9E\u9645\u7684-urls","children":[]},{"level":3,"title":"\u4F7F\u7528 ClassLoader \u53BB\u67E5\u627E resource","slug":"\u4F7F\u7528-classloader-\u53BB\u67E5\u627E-resource","children":[]},{"level":3,"title":"\u4F7F\u7528 ClassLoader \u53BB\u52A0\u8F7D\u7C7B","slug":"\u4F7F\u7528-classloader-\u53BB\u52A0\u8F7D\u7C7B","children":[]},{"level":3,"title":"\u7EDF\u8BA1 ClassLoader \u5B9E\u9645\u4F7F\u7528 URL \u548C\u672A\u4F7F\u7528\u7684 URL","slug":"\u7EDF\u8BA1-classloader-\u5B9E\u9645\u4F7F\u7528-url-\u548C\u672A\u4F7F\u7528\u7684-url","children":[]}]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/classloader.md","version":"3.6.5"}');export{l as data};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-fc1b9a9c","path":"/en/doc/classloader.html","title":"classloader","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Options","slug":"options","children":[]},{"level":2,"title":"Usage","slug":"usage","children":[{"level":3,"title":"View statistics categorized by class type","slug":"view-statistics-categorized-by-class-type","children":[]},{"level":3,"title":"View statistics categorized by loaded classes number","slug":"view-statistics-categorized-by-loaded-classes-number","children":[]},{"level":3,"title":"View class-loaders hierarchy","slug":"view-class-loaders-hierarchy","children":[]},{"level":3,"title":"Show the URLs of the URLClassLoader","slug":"show-the-urls-of-the-urlclassloader","children":[]},{"level":3,"title":"Use the classloader to load resource","slug":"use-the-classloader-to-load-resource","children":[]},{"level":3,"title":"Use the classloader to load class","slug":"use-the-classloader-to-load-class","children":[]},{"level":3,"title":"Statistics ClassLoader actually used URLs and unused URLs","slug":"statistics-classloader-actually-used-urls-and-unused-urls","children":[]}]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/classloader.md","version":"3.6.5"}');export{e as data};
@@ -1 +1 @@
import{_ as t,o as s,c,a as e,e as o}from"./app.e9adadd6.js";const n={},a=e("h1",{id:"cls",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#cls","aria-hidden":"true"},"#"),o(" cls")],-1),l=e("p",null,"clear current console.",-1),r=e("div",{class:"custom-container tip"},[e("p",{class:"custom-container-title"},"TIP"),e("p",null,`if not in tty mode,it will warn "Command 'cls' is only support tty session.".`)],-1),i=[a,l,r];function _(d,h){return s(),c("div",null,i)}var m=t(n,[["render",_],["__file","cls.html.vue"]]);export{m as default};
import{_ as t,o as s,c,a as e,e as o}from"./app.a799ec6e.js";const n={},a=e("h1",{id:"cls",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#cls","aria-hidden":"true"},"#"),o(" cls")],-1),l=e("p",null,"clear current console.",-1),r=e("div",{class:"custom-container tip"},[e("p",{class:"custom-container-title"},"TIP"),e("p",null,`if not in tty mode,it will warn "Command 'cls' is only support tty session.".`)],-1),i=[a,l,r];function _(d,h){return s(),c("div",null,i)}const m=t(n,[["render",_],["__file","cls.html.vue"]]);export{m as default};
-1
View File
@@ -1 +0,0 @@
import{_ as s,o as t,c,a as e,e as o}from"./app.e9adadd6.js";const a={},n=e("h1",{id:"cls",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#cls","aria-hidden":"true"},"#"),o(" cls")],-1),l=e("p",null,"\u6E05\u7A7A\u5F53\u524D\u5C4F\u5E55\u533A\u57DF\u3002",-1),r=e("div",{class:"custom-container tip"},[e("p",{class:"custom-container-title"},"\u63D0\u793A"),e("p",null,`\u975E\u7EC8\u7AEF\u6A21\u5F0F\u4E0B\u4F7F\u7528 cls \u6307\u4EE4\uFF0C\u4F1A\u63D0\u793A"Command 'cls' is only support tty session."\u3002`)],-1),i=[n,l,r];function _(d,h){return t(),c("div",null,i)}var m=s(a,[["render",_],["__file","cls.html.vue"]]);export{m as default};
+1
View File
@@ -0,0 +1 @@
import{_ as e,o as t,c,a as s,e as o}from"./app.a799ec6e.js";const n={},a=s("h1",{id:"cls",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#cls","aria-hidden":"true"},"#"),o(" cls")],-1),l=s("p",null,"\u6E05\u7A7A\u5F53\u524D\u5C4F\u5E55\u533A\u57DF\u3002",-1),r=s("div",{class:"custom-container tip"},[s("p",{class:"custom-container-title"},"\u63D0\u793A"),s("p",null,`\u975E\u7EC8\u7AEF\u6A21\u5F0F\u4E0B\u4F7F\u7528 cls \u6307\u4EE4\uFF0C\u4F1A\u63D0\u793A"Command 'cls' is only support tty session."\u3002`)],-1),i=[a,l,r];function _(d,h){return t(),c("div",null,i)}const m=e(n,[["render",_],["__file","cls.html.vue"]]);export{m as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-5ed4d0e1","path":"/doc/commands.html","title":"\u547D\u4EE4\u5217\u8868","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"jvm \u76F8\u5173","slug":"jvm-\u76F8\u5173","children":[]},{"level":2,"title":"class/classloader \u76F8\u5173","slug":"class-classloader-\u76F8\u5173","children":[]},{"level":2,"title":"monitor/watch/trace \u76F8\u5173","slug":"monitor-watch-trace-\u76F8\u5173","children":[]},{"level":2,"title":"profiler/\u706B\u7130\u56FE","slug":"profiler-\u706B\u7130\u56FE","children":[]},{"level":2,"title":"\u9274\u6743","slug":"\u9274\u6743","children":[]},{"level":2,"title":"options","slug":"options","children":[]},{"level":2,"title":"\u7BA1\u9053","slug":"\u7BA1\u9053","children":[]},{"level":2,"title":"\u540E\u53F0\u5F02\u6B65\u4EFB\u52A1","slug":"\u540E\u53F0\u5F02\u6B65\u4EFB\u52A1","children":[]},{"level":2,"title":"\u57FA\u7840\u547D\u4EE4","slug":"\u57FA\u7840\u547D\u4EE4","children":[]}],"git":{"updatedTime":1661412829000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1},{"name":"longxu0509","email":"108991596+longxu0509@users.noreply.github.com","commits":1}]},"filePathRelative":"doc/commands.md","version":"3.6.5"}');export{e as data};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-12153166","path":"/en/doc/commands.html","title":"All Commands","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"jvm - related","slug":"jvm-related","children":[]},{"level":2,"title":"class/classloader - related","slug":"class-classloader-related","children":[]},{"level":2,"title":"monitor/watch/trace - related","slug":"monitor-watch-trace-related","children":[]},{"level":2,"title":"profiler/flame graph","slug":"profiler-flame-graph","children":[]},{"level":2,"title":"authentication","slug":"authentication","children":[]},{"level":2,"title":"options","slug":"options","children":[]},{"level":2,"title":"pipe","slug":"pipe","children":[]},{"level":2,"title":"async jobs","slug":"async-jobs","children":[]},{"level":2,"title":"Basic Arthas Commands","slug":"basic-arthas-commands","children":[]}],"git":{"updatedTime":1661412829000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":2},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1},{"name":"longxu0509","email":"108991596+longxu0509@users.noreply.github.com","commits":1}]},"filePathRelative":"en/doc/commands.md","version":"3.6.5"}');export{e as data};
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
const l=JSON.parse('{"key":"v-5ed4d0e1","path":"/doc/commands.html","title":"\u547D\u4EE4\u5217\u8868","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"jvm \u76F8\u5173","slug":"jvm-\u76F8\u5173","link":"#jvm-\u76F8\u5173","children":[]},{"level":2,"title":"class/classloader \u76F8\u5173","slug":"class-classloader-\u76F8\u5173","link":"#class-classloader-\u76F8\u5173","children":[]},{"level":2,"title":"monitor/watch/trace \u76F8\u5173","slug":"monitor-watch-trace-\u76F8\u5173","link":"#monitor-watch-trace-\u76F8\u5173","children":[]},{"level":2,"title":"profiler/\u706B\u7130\u56FE","slug":"profiler-\u706B\u7130\u56FE","link":"#profiler-\u706B\u7130\u56FE","children":[]},{"level":2,"title":"\u9274\u6743","slug":"\u9274\u6743","link":"#\u9274\u6743","children":[]},{"level":2,"title":"options","slug":"options","link":"#options","children":[]},{"level":2,"title":"\u7BA1\u9053","slug":"\u7BA1\u9053","link":"#\u7BA1\u9053","children":[]},{"level":2,"title":"\u540E\u53F0\u5F02\u6B65\u4EFB\u52A1","slug":"\u540E\u53F0\u5F02\u6B65\u4EFB\u52A1","link":"#\u540E\u53F0\u5F02\u6B65\u4EFB\u52A1","children":[]},{"level":2,"title":"\u57FA\u7840\u547D\u4EE4","slug":"\u57FA\u7840\u547D\u4EE4","link":"#\u57FA\u7840\u547D\u4EE4","children":[]}],"git":{"updatedTime":1661412829000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1},{"name":"longxu0509","email":"108991596+longxu0509@users.noreply.github.com","commits":1}]},"filePathRelative":"doc/commands.md","version":"3.6.5"}');export{l as data};
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-12153166","path":"/en/doc/commands.html","title":"All Commands","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"jvm - related","slug":"jvm-related","link":"#jvm-related","children":[]},{"level":2,"title":"class/classloader - related","slug":"class-classloader-related","link":"#class-classloader-related","children":[]},{"level":2,"title":"monitor/watch/trace - related","slug":"monitor-watch-trace-related","link":"#monitor-watch-trace-related","children":[]},{"level":2,"title":"profiler/flame graph","slug":"profiler-flame-graph","link":"#profiler-flame-graph","children":[]},{"level":2,"title":"authentication","slug":"authentication","link":"#authentication","children":[]},{"level":2,"title":"options","slug":"options","link":"#options","children":[]},{"level":2,"title":"pipe","slug":"pipe","link":"#pipe","children":[]},{"level":2,"title":"async jobs","slug":"async-jobs","link":"#async-jobs","children":[]},{"level":2,"title":"Basic Arthas Commands","slug":"basic-arthas-commands","link":"#basic-arthas-commands","children":[]}],"git":{"updatedTime":1661412829000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":2},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1},{"name":"longxu0509","email":"108991596+longxu0509@users.noreply.github.com","commits":1}]},"filePathRelative":"en/doc/commands.md","version":"3.6.5"}');export{e as data};
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-3992adde","path":"/doc/contact-us.html","title":"\u8054\u7CFB\u6211\u4EEC","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":3,"title":"\u62DB\u8058","slug":"\u62DB\u8058","link":"#\u62DB\u8058","children":[]},{"level":3,"title":"Issues","slug":"issues","link":"#issues","children":[]},{"level":3,"title":"\u5FAE\u4FE1\u516C\u4F17\u53F7","slug":"\u5FAE\u4FE1\u516C\u4F17\u53F7","link":"#\u5FAE\u4FE1\u516C\u4F17\u53F7","children":[]},{"level":3,"title":"\u9489\u9489\u7FA4","slug":"\u9489\u9489\u7FA4","link":"#\u9489\u9489\u7FA4","children":[]},{"level":3,"title":"QQ \u7FA4","slug":"qq-\u7FA4","link":"#qq-\u7FA4","children":[]}],"git":{"updatedTime":1658737180000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/contact-us.md","version":"3.6.5"}');export{e as data};
-1
View File
@@ -1 +0,0 @@
import{_ as r,a as i,b as o,c as n}from"./qqgroup2_qr.3de52c17.js";import{_ as h,o as c,c as d,a as e,b as t,e as a,d as _,r as l}from"./app.e9adadd6.js";var p="/images/qrcode_gongzhonghao.jpg";const u={},m=e("h1",{id:"\u8054\u7CFB\u6211\u4EEC",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u8054\u7CFB\u6211\u4EEC","aria-hidden":"true"},"#"),a(" \u8054\u7CFB\u6211\u4EEC")],-1),f=e("h3",{id:"\u62DB\u8058",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u62DB\u8058","aria-hidden":"true"},"#"),a(" \u62DB\u8058")],-1),b={href:"https://mp.weixin.qq.com/s/XQv8GnqGT3pzceVwzeiy-A",target:"_blank",rel:"noopener noreferrer"},g=a("\u671F\u5F85\u4F60\u7684\u52A0\u5165"),x=e("h3",{id:"issues",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#issues","aria-hidden":"true"},"#"),a(" Issues")],-1),q=a("\u4F7F\u7528\u7591\u95EE\uFF0C\u610F\u89C1\u53EF\u4EE5\u76F4\u63A5\u5728 Issues \u91CC\u63D0\u51FA\uFF1A "),Q={href:"https://github.com/alibaba/arthas/issues",target:"_blank",rel:"noopener noreferrer"},k=a("https://github.com/alibaba/arthas/issues"),v=_('<h3 id="\u5FAE\u4FE1\u516C\u4F17\u53F7" tabindex="-1"><a class="header-anchor" href="#\u5FAE\u4FE1\u516C\u4F17\u53F7" aria-hidden="true">#</a> \u5FAE\u4FE1\u516C\u4F17\u53F7</h3><p>\u6B22\u8FCE\u5173\u6CE8\u516C\u4F17\u53F7\uFF0C\u83B7\u53D6 Arthas \u9879\u76EE\u7684\u4FE1\u606F\u3001\u6E90\u7801\u5206\u6790\u3001\u6848\u4F8B\u5B9E\u8DF5\u3002</p><p><img src="'+p+'" alt=""></p><h3 id="\u9489\u9489\u7FA4" tabindex="-1"><a class="header-anchor" href="#\u9489\u9489\u7FA4" aria-hidden="true">#</a> \u9489\u9489\u7FA4</h3><ul><li>Arthas \u5F00\u6E90\u4EA4\u6D41\u9489\u9489\u7FA4\uFF1A 21965291 \uFF0C\u641C\u7D22\u7FA4\u53F7\u5373\u53EF\u52A0\u5165\u3002</li></ul><p><img src="'+r+'" alt=""></p><ul><li>Arthas \u5F00\u6E90\u4EA4\u6D41\u9489\u9489\u7FA4 2\uFF1A 30707824 \uFF0C\u641C\u7D22\u7FA4\u53F7\u5373\u53EF\u52A0\u5165\u3002</li></ul><p><img src="'+i+'" alt=""></p><h3 id="qq-\u7FA4" tabindex="-1"><a class="header-anchor" href="#qq-\u7FA4" aria-hidden="true">#</a> QQ \u7FA4</h3><p>Arthas \u5F00\u6E90\u4EA4\u6D41 QQ \u7FA4\uFF1A 916328269</p><p><img src="'+o+'" alt=""></p><p>Arthas \u5F00\u6E90\u4EA4\u6D41 QQ \u7FA4 2\uFF1A 854625984</p><p><img src="'+n+'" alt=""></p>',13);function A(V,I){const s=l("ExternalLinkIcon");return c(),d("div",null,[m,f,e("ul",null,[e("li",null,[e("a",b,[g,t(s)])])]),x,e("p",null,[q,e("a",Q,[k,t(s)])]),v])}var B=h(u,[["render",A],["__file","contact-us.html.vue"]]);export{B as default};
-1
View File
@@ -1 +0,0 @@
import{_ as r,a as t,b as i,c}from"./qqgroup2_qr.3de52c17.js";import{_ as d,o as h,c as u,a as s,b as n,e as a,d as o,r as l}from"./app.e9adadd6.js";var p="/images/dingding_group_search.png";const _={},g=s("h1",{id:"contact-us",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#contact-us","aria-hidden":"true"},"#"),a(" Contact Us")],-1),m=s("h3",{id:"issues",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#issues","aria-hidden":"true"},"#"),a(" Issues")],-1),f=a("Questions about how to use Arthas and opinions can be directly raised in issues\uFF1A "),b={href:"https://github.com/alibaba/arthas/issues",target:"_blank",rel:"noopener noreferrer"},k=a("https://github.com/alibaba/arthas/issues"),x=o('<h3 id="dingding-group" tabindex="-1"><a class="header-anchor" href="#dingding-group" aria-hidden="true">#</a> DingDing Group</h3><ul><li>Arthas open source discussion Group\uFF1A 21965291 \uFF0CYou can join by searching for group number\u3002</li></ul><p><img src="'+r+'" alt=""></p><ul><li>Arthas open source discussion Group 2\uFF1A 30707824 \uFF0CYou can join by searching for group number\u3002</li></ul><p><img src="'+t+'" alt=""></p><h3 id="instructions-for-installing-dingtalk" tabindex="-1"><a class="header-anchor" href="#instructions-for-installing-dingtalk" aria-hidden="true">#</a> Instructions for Installing DingTalk</h3>',6),w=a("DingTalk can be downloaded from: "),Q={href:"https://page.dingtalk.com/wow/dingtalk/act/en-download",target:"_blank",rel:"noopener noreferrer"},A=a("https://www.dingtalk.com/en"),v=o('<p>After installing you can search for group number and join it.</p><p><img src="'+p+'" alt=""></p><h3 id="qq-group" tabindex="-1"><a class="header-anchor" href="#qq-group" aria-hidden="true">#</a> QQ Group</h3><p>Arthas open source discussion QQ group\uFF1A916328269</p><p><img src="'+i+'" alt=""></p><p>Arthas open source discussion QQ group2\uFF1A854625984</p><p><img src="'+c+'" alt=""></p>',7);function I(q,y){const e=l("ExternalLinkIcon");return h(),u("div",null,[g,m,s("p",null,[f,s("a",b,[k,n(e)])]),x,s("p",null,[w,s("a",Q,[A,n(e)])]),v])}var N=d(_,[["render",I],["__file","contact-us.html.vue"]]);export{N as default};
+1
View File
@@ -0,0 +1 @@
import{_ as r,a as o,b as i,c as n}from"./qqgroup2_qr.6c637819.js";import{_ as h,o as c,c as d,a as e,b as t,e as a,d as _,r as l}from"./app.a799ec6e.js";const p="/images/qrcode_gongzhonghao.jpg",u={},m=e("h1",{id:"\u8054\u7CFB\u6211\u4EEC",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u8054\u7CFB\u6211\u4EEC","aria-hidden":"true"},"#"),a(" \u8054\u7CFB\u6211\u4EEC")],-1),f=e("h3",{id:"\u62DB\u8058",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u62DB\u8058","aria-hidden":"true"},"#"),a(" \u62DB\u8058")],-1),b={href:"https://mp.weixin.qq.com/s/XQv8GnqGT3pzceVwzeiy-A",target:"_blank",rel:"noopener noreferrer"},g=a("\u671F\u5F85\u4F60\u7684\u52A0\u5165"),x=e("h3",{id:"issues",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#issues","aria-hidden":"true"},"#"),a(" Issues")],-1),q=a("\u4F7F\u7528\u7591\u95EE\uFF0C\u610F\u89C1\u53EF\u4EE5\u76F4\u63A5\u5728 Issues \u91CC\u63D0\u51FA\uFF1A "),Q={href:"https://github.com/alibaba/arthas/issues",target:"_blank",rel:"noopener noreferrer"},k=a("https://github.com/alibaba/arthas/issues"),A=_('<h3 id="\u5FAE\u4FE1\u516C\u4F17\u53F7" tabindex="-1"><a class="header-anchor" href="#\u5FAE\u4FE1\u516C\u4F17\u53F7" aria-hidden="true">#</a> \u5FAE\u4FE1\u516C\u4F17\u53F7</h3><p>\u6B22\u8FCE\u5173\u6CE8\u516C\u4F17\u53F7\uFF0C\u83B7\u53D6 Arthas \u9879\u76EE\u7684\u4FE1\u606F\u3001\u6E90\u7801\u5206\u6790\u3001\u6848\u4F8B\u5B9E\u8DF5\u3002</p><p><img src="'+p+'" alt=""></p><h3 id="\u9489\u9489\u7FA4" tabindex="-1"><a class="header-anchor" href="#\u9489\u9489\u7FA4" aria-hidden="true">#</a> \u9489\u9489\u7FA4</h3><ul><li>Arthas \u5F00\u6E90\u4EA4\u6D41\u9489\u9489\u7FA4\uFF1A 21965291 \uFF0C\u641C\u7D22\u7FA4\u53F7\u5373\u53EF\u52A0\u5165\u3002</li></ul><p><img src="'+r+'" alt=""></p><ul><li>Arthas \u5F00\u6E90\u4EA4\u6D41\u9489\u9489\u7FA4 2\uFF1A 30707824 \uFF0C\u641C\u7D22\u7FA4\u53F7\u5373\u53EF\u52A0\u5165\u3002</li></ul><p><img src="'+o+'" alt=""></p><h3 id="qq-\u7FA4" tabindex="-1"><a class="header-anchor" href="#qq-\u7FA4" aria-hidden="true">#</a> QQ \u7FA4</h3><p>Arthas \u5F00\u6E90\u4EA4\u6D41 QQ \u7FA4\uFF1A 916328269</p><p><img src="'+i+'" alt=""></p><p>Arthas \u5F00\u6E90\u4EA4\u6D41 QQ \u7FA4 2\uFF1A 854625984</p><p><img src="'+n+'" alt=""></p>',13);function V(v,I){const s=l("ExternalLinkIcon");return c(),d("div",null,[m,f,e("ul",null,[e("li",null,[e("a",b,[g,t(s)])])]),x,e("p",null,[q,e("a",Q,[k,t(s)])]),A])}const B=h(u,[["render",V],["__file","contact-us.html.vue"]]);export{B as default};
+1
View File
@@ -0,0 +1 @@
import{_ as t,a as r,b as i,c}from"./qqgroup2_qr.6c637819.js";import{_ as d,o as h,c as u,a as s,b as n,e,d as o,r as l}from"./app.a799ec6e.js";const p="/images/dingding_group_search.png",_={},g=s("h1",{id:"contact-us",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#contact-us","aria-hidden":"true"},"#"),e(" Contact Us")],-1),m=s("h3",{id:"issues",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#issues","aria-hidden":"true"},"#"),e(" Issues")],-1),f=e("Questions about how to use Arthas and opinions can be directly raised in issues\uFF1A "),b={href:"https://github.com/alibaba/arthas/issues",target:"_blank",rel:"noopener noreferrer"},k=e("https://github.com/alibaba/arthas/issues"),x=o('<h3 id="dingding-group" tabindex="-1"><a class="header-anchor" href="#dingding-group" aria-hidden="true">#</a> DingDing Group</h3><ul><li>Arthas open source discussion Group\uFF1A 21965291 \uFF0CYou can join by searching for group number\u3002</li></ul><p><img src="'+t+'" alt=""></p><ul><li>Arthas open source discussion Group 2\uFF1A 30707824 \uFF0CYou can join by searching for group number\u3002</li></ul><p><img src="'+r+'" alt=""></p><h3 id="instructions-for-installing-dingtalk" tabindex="-1"><a class="header-anchor" href="#instructions-for-installing-dingtalk" aria-hidden="true">#</a> Instructions for Installing DingTalk</h3>',6),w=e("DingTalk can be downloaded from: "),Q={href:"https://page.dingtalk.com/wow/dingtalk/act/en-download",target:"_blank",rel:"noopener noreferrer"},A=e("https://www.dingtalk.com/en"),I=o('<p>After installing you can search for group number and join it.</p><p><img src="'+p+'" alt=""></p><h3 id="qq-group" tabindex="-1"><a class="header-anchor" href="#qq-group" aria-hidden="true">#</a> QQ Group</h3><p>Arthas open source discussion QQ group\uFF1A916328269</p><p><img src="'+i+'" alt=""></p><p>Arthas open source discussion QQ group2\uFF1A854625984</p><p><img src="'+c+'" alt=""></p>',7);function q(y,D){const a=l("ExternalLinkIcon");return h(),u("div",null,[g,m,s("p",null,[f,s("a",b,[k,n(a)])]),x,s("p",null,[w,s("a",Q,[A,n(a)])]),I])}const V=d(_,[["render",q],["__file","contact-us.html.vue"]]);export{V as default};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-4be7594a","path":"/en/doc/contact-us.html","title":"Contact Us","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":3,"title":"Issues","slug":"issues","children":[]},{"level":3,"title":"DingDing Group","slug":"dingding-group","children":[]},{"level":3,"title":"Instructions for Installing DingTalk","slug":"instructions-for-installing-dingtalk","children":[]},{"level":3,"title":"QQ Group","slug":"qq-group","children":[]}],"git":{"updatedTime":1658120060000,"contributors":[{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/contact-us.md","version":"3.6.5"}');export{e as data};
+1
View File
@@ -0,0 +1 @@
const n=JSON.parse('{"key":"v-4be7594a","path":"/en/doc/contact-us.html","title":"Contact Us","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":3,"title":"Issues","slug":"issues","link":"#issues","children":[]},{"level":3,"title":"DingDing Group","slug":"dingding-group","link":"#dingding-group","children":[]},{"level":3,"title":"Instructions for Installing DingTalk","slug":"instructions-for-installing-dingtalk","link":"#instructions-for-installing-dingtalk","children":[]},{"level":3,"title":"QQ Group","slug":"qq-group","link":"#qq-group","children":[]}],"git":{"updatedTime":1658120060000,"contributors":[{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/contact-us.md","version":"3.6.5"}');export{n as data};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-3992adde","path":"/doc/contact-us.html","title":"\u8054\u7CFB\u6211\u4EEC","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":3,"title":"\u62DB\u8058","slug":"\u62DB\u8058","children":[]},{"level":3,"title":"Issues","slug":"issues","children":[]},{"level":3,"title":"\u5FAE\u4FE1\u516C\u4F17\u53F7","slug":"\u5FAE\u4FE1\u516C\u4F17\u53F7","children":[]},{"level":3,"title":"\u9489\u9489\u7FA4","slug":"\u9489\u9489\u7FA4","children":[]},{"level":3,"title":"QQ \u7FA4","slug":"qq-\u7FA4","children":[]}],"git":{"updatedTime":1658737180000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/contact-us.md","version":"3.6.5"}');export{e as data};
-1
View File
@@ -1 +0,0 @@
var a="/images/dashboard.png";export{a as _};
+1
View File
@@ -0,0 +1 @@
const s="/images/dashboard.png";export{s as _};
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-0d1e3f35","path":"/doc/dashboard.html","title":"dashboard","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u53C2\u6570\u8BF4\u660E","slug":"\u53C2\u6570\u8BF4\u660E","link":"#\u53C2\u6570\u8BF4\u660E","children":[]},{"level":2,"title":"\u4F7F\u7528\u53C2\u8003","slug":"\u4F7F\u7528\u53C2\u8003","link":"#\u4F7F\u7528\u53C2\u8003","children":[]},{"level":2,"title":"\u6570\u636E\u8BF4\u660E","slug":"\u6570\u636E\u8BF4\u660E","link":"#\u6570\u636E\u8BF4\u660E","children":[{"level":3,"title":"JVM \u5185\u90E8\u7EBF\u7A0B","slug":"jvm-\u5185\u90E8\u7EBF\u7A0B","link":"#jvm-\u5185\u90E8\u7EBF\u7A0B","children":[]}]},{"level":2,"title":"\u622A\u56FE\u5C55\u793A","slug":"\u622A\u56FE\u5C55\u793A","link":"#\u622A\u56FE\u5C55\u793A","children":[]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/dashboard.md","version":"3.6.5"}');export{e as data};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-79107649","path":"/en/doc/dashboard.html","title":"dashboard","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Options","slug":"options","children":[]},{"level":2,"title":"Usage","slug":"usage","children":[]},{"level":2,"title":"Notes on column headers","slug":"notes-on-column-headers","children":[{"level":3,"title":"JVM internal threads","slug":"jvm-internal-threads","children":[]}]},{"level":2,"title":"Screenshot","slug":"screenshot","children":[]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/dashboard.md","version":"3.6.5"}');export{e as data};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-0d1e3f35","path":"/doc/dashboard.html","title":"dashboard","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u53C2\u6570\u8BF4\u660E","slug":"\u53C2\u6570\u8BF4\u660E","children":[]},{"level":2,"title":"\u4F7F\u7528\u53C2\u8003","slug":"\u4F7F\u7528\u53C2\u8003","children":[]},{"level":2,"title":"\u6570\u636E\u8BF4\u660E","slug":"\u6570\u636E\u8BF4\u660E","children":[{"level":3,"title":"JVM \u5185\u90E8\u7EBF\u7A0B","slug":"jvm-\u5185\u90E8\u7EBF\u7A0B","children":[]}]},{"level":2,"title":"\u622A\u56FE\u5C55\u793A","slug":"\u622A\u56FE\u5C55\u793A","children":[]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/dashboard.md","version":"3.6.5"}');export{e as data};
+1
View File
@@ -0,0 +1 @@
const e=JSON.parse('{"key":"v-79107649","path":"/en/doc/dashboard.html","title":"dashboard","lang":"en-US","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"Options","slug":"options","link":"#options","children":[]},{"level":2,"title":"Usage","slug":"usage","link":"#usage","children":[]},{"level":2,"title":"Notes on column headers","slug":"notes-on-column-headers","link":"#notes-on-column-headers","children":[{"level":3,"title":"JVM internal threads","slug":"jvm-internal-threads","link":"#jvm-internal-threads","children":[]}]},{"level":2,"title":"Screenshot","slug":"screenshot","link":"#screenshot","children":[]}],"git":{"updatedTime":1660041759000,"contributors":[{"name":"Fatpandac","email":"i@fatpandac.com","commits":1},{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"en/doc/dashboard.md","version":"3.6.5"}');export{e as data};
@@ -1,4 +1,4 @@
import{_ as n}from"./dashboard.12e8f42a.js";import{_ as d,o as l,c as s,a as e,b as t,e as a,d as r,r as c}from"./app.e9adadd6.js";const o={},h=e("h1",{id:"dashboard",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#dashboard","aria-hidden":"true"},"#"),a(" dashboard")],-1),m={href:"https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-dashboard",target:"_blank",rel:"noopener noreferrer"},v=e("code",null,"dashboard",-1),u=a("\u5728\u7EBF\u6559\u7A0B"),b=r(`<div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>\u5F53\u524D\u7CFB\u7EDF\u7684\u5B9E\u65F6\u6570\u636E\u9762\u677F\uFF0C\u6309 ctrl+c \u9000\u51FA\u3002</p></div><p>\u5F53\u8FD0\u884C\u5728 Ali-tomcat \u65F6\uFF0C\u4F1A\u663E\u793A\u5F53\u524D tomcat \u7684\u5B9E\u65F6\u4FE1\u606F\uFF0C\u5982 HTTP \u8BF7\u6C42\u7684 qps, rt, \u9519\u8BEF\u6570, \u7EBF\u7A0B\u6C60\u4FE1\u606F\u7B49\u7B49\u3002</p><h2 id="\u53C2\u6570\u8BF4\u660E" tabindex="-1"><a class="header-anchor" href="#\u53C2\u6570\u8BF4\u660E" aria-hidden="true">#</a> \u53C2\u6570\u8BF4\u660E</h2><table><thead><tr><th style="text-align:right;">\u53C2\u6570\u540D\u79F0</th><th style="text-align:left;">\u53C2\u6570\u8BF4\u660E</th></tr></thead><tbody><tr><td style="text-align:right;">[i:]</td><td style="text-align:left;">\u5237\u65B0\u5B9E\u65F6\u6570\u636E\u7684\u65F6\u95F4\u95F4\u9694 (ms)\uFF0C\u9ED8\u8BA4 5000ms</td></tr><tr><td style="text-align:right;">[n:]</td><td style="text-align:left;">\u5237\u65B0\u5B9E\u65F6\u6570\u636E\u7684\u6B21\u6570</td></tr></tbody></table><h2 id="\u4F7F\u7528\u53C2\u8003" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528\u53C2\u8003" aria-hidden="true">#</a> \u4F7F\u7528\u53C2\u8003</h2><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>$ dashboard
import{_ as n}from"./dashboard.eb1e1fee.js";import{_ as d,o as l,c as s,a as e,b as t,e as a,d as r,r as c}from"./app.a799ec6e.js";const o={},h=e("h1",{id:"dashboard",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#dashboard","aria-hidden":"true"},"#"),a(" dashboard")],-1),m={href:"https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-dashboard",target:"_blank",rel:"noopener noreferrer"},u=e("code",null,"dashboard",-1),v=a("\u5728\u7EBF\u6559\u7A0B"),b=r(`<div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>\u5F53\u524D\u7CFB\u7EDF\u7684\u5B9E\u65F6\u6570\u636E\u9762\u677F\uFF0C\u6309 ctrl+c \u9000\u51FA\u3002</p></div><p>\u5F53\u8FD0\u884C\u5728 Ali-tomcat \u65F6\uFF0C\u4F1A\u663E\u793A\u5F53\u524D tomcat \u7684\u5B9E\u65F6\u4FE1\u606F\uFF0C\u5982 HTTP \u8BF7\u6C42\u7684 qps, rt, \u9519\u8BEF\u6570, \u7EBF\u7A0B\u6C60\u4FE1\u606F\u7B49\u7B49\u3002</p><h2 id="\u53C2\u6570\u8BF4\u660E" tabindex="-1"><a class="header-anchor" href="#\u53C2\u6570\u8BF4\u660E" aria-hidden="true">#</a> \u53C2\u6570\u8BF4\u660E</h2><table><thead><tr><th style="text-align:right;">\u53C2\u6570\u540D\u79F0</th><th style="text-align:left;">\u53C2\u6570\u8BF4\u660E</th></tr></thead><tbody><tr><td style="text-align:right;">[i:]</td><td style="text-align:left;">\u5237\u65B0\u5B9E\u65F6\u6570\u636E\u7684\u65F6\u95F4\u95F4\u9694 (ms)\uFF0C\u9ED8\u8BA4 5000ms</td></tr><tr><td style="text-align:right;">[n:]</td><td style="text-align:left;">\u5237\u65B0\u5B9E\u65F6\u6570\u636E\u7684\u6B21\u6570</td></tr></tbody></table><h2 id="\u4F7F\u7528\u53C2\u8003" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528\u53C2\u8003" aria-hidden="true">#</a> \u4F7F\u7528\u53C2\u8003</h2><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>$ dashboard
ID NAME GROUP PRIORITY STATE %CPU DELTA_TIME TIME INTERRUPTE DAEMON
-1 C2 CompilerThread0 - -1 - 1.55 0.077 0:8.684 false true
53 Timer-for-arthas-dashboard-07b system 5 RUNNABLE 0.08 0.004 0:0.004 false true
@@ -30,4 +30,4 @@ java.home /Library/Java/Jav
systemload.average 10.68
processors 8
uptime 272s
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="\u6570\u636E\u8BF4\u660E" tabindex="-1"><a class="header-anchor" href="#\u6570\u636E\u8BF4\u660E" aria-hidden="true">#</a> \u6570\u636E\u8BF4\u660E</h2><ul><li>ID: Java \u7EA7\u522B\u7684\u7EBF\u7A0B ID\uFF0C\u6CE8\u610F\u8FD9\u4E2A ID \u4E0D\u80FD\u8DDF jstack \u4E2D\u7684 nativeID \u4E00\u4E00\u5BF9\u5E94\u3002</li><li>NAME: \u7EBF\u7A0B\u540D</li><li>GROUP: \u7EBF\u7A0B\u7EC4\u540D</li><li>PRIORITY: \u7EBF\u7A0B\u4F18\u5148\u7EA7, 1~10 \u4E4B\u95F4\u7684\u6570\u5B57\uFF0C\u8D8A\u5927\u8868\u793A\u4F18\u5148\u7EA7\u8D8A\u9AD8</li><li>STATE: \u7EBF\u7A0B\u7684\u72B6\u6001</li><li>CPU%: \u7EBF\u7A0B\u7684 cpu \u4F7F\u7528\u7387\u3002\u6BD4\u5982\u91C7\u6837\u95F4\u9694 1000ms\uFF0C\u67D0\u4E2A\u7EBF\u7A0B\u7684\u589E\u91CF cpu \u65F6\u95F4\u4E3A 100ms\uFF0C\u5219 cpu \u4F7F\u7528\u7387=100/1000=10%</li><li>DELTA_TIME: \u4E0A\u6B21\u91C7\u6837\u4E4B\u540E\u7EBF\u7A0B\u8FD0\u884C\u589E\u91CF CPU \u65F6\u95F4\uFF0C\u6570\u636E\u683C\u5F0F\u4E3A<code>\u79D2</code></li><li>TIME: \u7EBF\u7A0B\u8FD0\u884C\u603B CPU \u65F6\u95F4\uFF0C\u6570\u636E\u683C\u5F0F\u4E3A<code>\u5206:\u79D2</code></li><li>INTERRUPTED: \u7EBF\u7A0B\u5F53\u524D\u7684\u4E2D\u65AD\u4F4D\u72B6\u6001</li><li>DAEMON: \u662F\u5426\u662F daemon \u7EBF\u7A0B</li></ul><h3 id="jvm-\u5185\u90E8\u7EBF\u7A0B" tabindex="-1"><a class="header-anchor" href="#jvm-\u5185\u90E8\u7EBF\u7A0B" aria-hidden="true">#</a> JVM \u5185\u90E8\u7EBF\u7A0B</h3><p>Java 8 \u4E4B\u540E\u652F\u6301\u83B7\u53D6 JVM \u5185\u90E8\u7EBF\u7A0B CPU \u65F6\u95F4\uFF0C\u8FD9\u4E9B\u7EBF\u7A0B\u53EA\u6709\u540D\u79F0\u548C CPU \u65F6\u95F4\uFF0C\u6CA1\u6709 ID \u53CA\u72B6\u6001\u7B49\u4FE1\u606F\uFF08\u663E\u793A ID \u4E3A-1\uFF09\u3002 \u901A\u8FC7\u5185\u90E8\u7EBF\u7A0B\u53EF\u4EE5\u89C2\u6D4B\u5230 JVM \u6D3B\u52A8\uFF0C\u5982 GC\u3001JIT \u7F16\u8BD1\u7B49\u5360\u7528 CPU \u60C5\u51B5\uFF0C\u65B9\u4FBF\u4E86\u89E3 JVM \u6574\u4F53\u8FD0\u884C\u72B6\u51B5\u3002</p><ul><li>\u5F53 JVM \u5806(heap)/\u5143\u6570\u636E(metaspace)\u7A7A\u95F4\u4E0D\u8DB3\u6216 OOM \u65F6\uFF0C\u53EF\u4EE5\u770B\u5230 GC \u7EBF\u7A0B\u7684 CPU \u5360\u7528\u7387\u660E\u663E\u9AD8\u4E8E\u5176\u4ED6\u7684\u7EBF\u7A0B\u3002</li><li>\u5F53\u6267\u884C<code>trace/watch/tt/redefine</code>\u7B49\u547D\u4EE4\u540E\uFF0C\u53EF\u4EE5\u770B\u5230 JIT \u7EBF\u7A0B\u6D3B\u52A8\u53D8\u5F97\u66F4\u9891\u7E41\u3002\u56E0\u4E3A JVM \u70ED\u66F4\u65B0 class \u5B57\u8282\u7801\u65F6\u6E05\u9664\u4E86\u6B64 class \u76F8\u5173\u7684 JIT \u7F16\u8BD1\u7ED3\u679C\uFF0C\u9700\u8981\u91CD\u65B0\u7F16\u8BD1\u3002</li></ul><p>JVM \u5185\u90E8\u7EBF\u7A0B\u5305\u62EC\u4E0B\u9762\u51E0\u79CD\uFF1A</p><ul><li>JIT \u7F16\u8BD1\u7EBF\u7A0B: \u5982 <code>C1 CompilerThread0</code>, <code>C2 CompilerThread0</code></li><li>GC \u7EBF\u7A0B: \u5982<code>GC Thread0</code>, <code>G1 Young RemSet Sampling</code></li><li>\u5176\u5B83\u5185\u90E8\u7EBF\u7A0B: \u5982<code>VM Periodic Task Thread</code>, <code>VM Thread</code>, <code>Service Thread</code></li></ul><h2 id="\u622A\u56FE\u5C55\u793A" tabindex="-1"><a class="header-anchor" href="#\u622A\u56FE\u5C55\u793A" aria-hidden="true">#</a> \u622A\u56FE\u5C55\u793A</h2><p><img src="`+n+'" alt="" title="dashboard"></p>',15);function p(_,T){const i=c("ExternalLinkIcon");return l(),s("div",null,[h,e("p",null,[e("a",m,[v,u,t(i)])]),b])}var g=d(o,[["render",p],["__file","dashboard.html.vue"]]);export{g as default};
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="\u6570\u636E\u8BF4\u660E" tabindex="-1"><a class="header-anchor" href="#\u6570\u636E\u8BF4\u660E" aria-hidden="true">#</a> \u6570\u636E\u8BF4\u660E</h2><ul><li>ID: Java \u7EA7\u522B\u7684\u7EBF\u7A0B ID\uFF0C\u6CE8\u610F\u8FD9\u4E2A ID \u4E0D\u80FD\u8DDF jstack \u4E2D\u7684 nativeID \u4E00\u4E00\u5BF9\u5E94\u3002</li><li>NAME: \u7EBF\u7A0B\u540D</li><li>GROUP: \u7EBF\u7A0B\u7EC4\u540D</li><li>PRIORITY: \u7EBF\u7A0B\u4F18\u5148\u7EA7, 1~10 \u4E4B\u95F4\u7684\u6570\u5B57\uFF0C\u8D8A\u5927\u8868\u793A\u4F18\u5148\u7EA7\u8D8A\u9AD8</li><li>STATE: \u7EBF\u7A0B\u7684\u72B6\u6001</li><li>CPU%: \u7EBF\u7A0B\u7684 cpu \u4F7F\u7528\u7387\u3002\u6BD4\u5982\u91C7\u6837\u95F4\u9694 1000ms\uFF0C\u67D0\u4E2A\u7EBF\u7A0B\u7684\u589E\u91CF cpu \u65F6\u95F4\u4E3A 100ms\uFF0C\u5219 cpu \u4F7F\u7528\u7387=100/1000=10%</li><li>DELTA_TIME: \u4E0A\u6B21\u91C7\u6837\u4E4B\u540E\u7EBF\u7A0B\u8FD0\u884C\u589E\u91CF CPU \u65F6\u95F4\uFF0C\u6570\u636E\u683C\u5F0F\u4E3A<code>\u79D2</code></li><li>TIME: \u7EBF\u7A0B\u8FD0\u884C\u603B CPU \u65F6\u95F4\uFF0C\u6570\u636E\u683C\u5F0F\u4E3A<code>\u5206:\u79D2</code></li><li>INTERRUPTED: \u7EBF\u7A0B\u5F53\u524D\u7684\u4E2D\u65AD\u4F4D\u72B6\u6001</li><li>DAEMON: \u662F\u5426\u662F daemon \u7EBF\u7A0B</li></ul><h3 id="jvm-\u5185\u90E8\u7EBF\u7A0B" tabindex="-1"><a class="header-anchor" href="#jvm-\u5185\u90E8\u7EBF\u7A0B" aria-hidden="true">#</a> JVM \u5185\u90E8\u7EBF\u7A0B</h3><p>Java 8 \u4E4B\u540E\u652F\u6301\u83B7\u53D6 JVM \u5185\u90E8\u7EBF\u7A0B CPU \u65F6\u95F4\uFF0C\u8FD9\u4E9B\u7EBF\u7A0B\u53EA\u6709\u540D\u79F0\u548C CPU \u65F6\u95F4\uFF0C\u6CA1\u6709 ID \u53CA\u72B6\u6001\u7B49\u4FE1\u606F\uFF08\u663E\u793A ID \u4E3A-1\uFF09\u3002 \u901A\u8FC7\u5185\u90E8\u7EBF\u7A0B\u53EF\u4EE5\u89C2\u6D4B\u5230 JVM \u6D3B\u52A8\uFF0C\u5982 GC\u3001JIT \u7F16\u8BD1\u7B49\u5360\u7528 CPU \u60C5\u51B5\uFF0C\u65B9\u4FBF\u4E86\u89E3 JVM \u6574\u4F53\u8FD0\u884C\u72B6\u51B5\u3002</p><ul><li>\u5F53 JVM \u5806(heap)/\u5143\u6570\u636E(metaspace)\u7A7A\u95F4\u4E0D\u8DB3\u6216 OOM \u65F6\uFF0C\u53EF\u4EE5\u770B\u5230 GC \u7EBF\u7A0B\u7684 CPU \u5360\u7528\u7387\u660E\u663E\u9AD8\u4E8E\u5176\u4ED6\u7684\u7EBF\u7A0B\u3002</li><li>\u5F53\u6267\u884C<code>trace/watch/tt/redefine</code>\u7B49\u547D\u4EE4\u540E\uFF0C\u53EF\u4EE5\u770B\u5230 JIT \u7EBF\u7A0B\u6D3B\u52A8\u53D8\u5F97\u66F4\u9891\u7E41\u3002\u56E0\u4E3A JVM \u70ED\u66F4\u65B0 class \u5B57\u8282\u7801\u65F6\u6E05\u9664\u4E86\u6B64 class \u76F8\u5173\u7684 JIT \u7F16\u8BD1\u7ED3\u679C\uFF0C\u9700\u8981\u91CD\u65B0\u7F16\u8BD1\u3002</li></ul><p>JVM \u5185\u90E8\u7EBF\u7A0B\u5305\u62EC\u4E0B\u9762\u51E0\u79CD\uFF1A</p><ul><li>JIT \u7F16\u8BD1\u7EBF\u7A0B: \u5982 <code>C1 CompilerThread0</code>, <code>C2 CompilerThread0</code></li><li>GC \u7EBF\u7A0B: \u5982<code>GC Thread0</code>, <code>G1 Young RemSet Sampling</code></li><li>\u5176\u5B83\u5185\u90E8\u7EBF\u7A0B: \u5982<code>VM Periodic Task Thread</code>, <code>VM Thread</code>, <code>Service Thread</code></li></ul><h2 id="\u622A\u56FE\u5C55\u793A" tabindex="-1"><a class="header-anchor" href="#\u622A\u56FE\u5C55\u793A" aria-hidden="true">#</a> \u622A\u56FE\u5C55\u793A</h2><p><img src="`+n+'" alt="" title="dashboard"></p>',15);function p(_,T){const i=c("ExternalLinkIcon");return l(),s("div",null,[h,e("p",null,[e("a",m,[u,v,t(i)])]),b])}const g=d(o,[["render",p],["__file","dashboard.html.vue"]]);export{g as default};
@@ -1,4 +1,4 @@
import{_ as n}from"./dashboard.12e8f42a.js";import{_ as s,o as r,c as d,a as e,b as i,e as a,d as l,r as o}from"./app.e9adadd6.js";const h={},c=e("h1",{id:"dashboard",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#dashboard","aria-hidden":"true"},"#"),a(" dashboard")],-1),u={href:"https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-dashboard",target:"_blank",rel:"noopener noreferrer"},m=e("code",null,"dashboard",-1),v=a(" online tutorial"),p=e("div",{class:"custom-container tip"},[e("p",{class:"custom-container-title"},"TIP"),e("p",null,[a("This is the real time statistics dashboard for the current system, press "),e("code",null,"Ctrl+C"),a(" to exit.")])],-1),b=a("When running in Apache Tomcat Alibaba edition, the dashboard will also present the real time statistics of the tomcat, including "),f={href:"https://en.wikipedia.org/wiki/Queries_per_second",target:"_blank",rel:"noopener noreferrer"},g=a("QPS"),_=a(", RT, error counts, and thread pool, etc."),T=l(`<h2 id="options" tabindex="-1"><a class="header-anchor" href="#options" aria-hidden="true">#</a> Options</h2><table><thead><tr><th style="text-align:right;">Name</th><th style="text-align:left;">Specification</th></tr></thead><tbody><tr><td style="text-align:right;">[i:]</td><td style="text-align:left;">The interval (in ms) between two executions, default is 5000 ms.</td></tr><tr><td style="text-align:right;">[n:]</td><td style="text-align:left;">The number of times this command will be executed.</td></tr></tbody></table><h2 id="usage" tabindex="-1"><a class="header-anchor" href="#usage" aria-hidden="true">#</a> Usage</h2><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>$ dashboard
import{_ as n}from"./dashboard.eb1e1fee.js";import{_ as s,o as r,c as d,a as e,b as i,e as a,d as l,r as o}from"./app.a799ec6e.js";const c={},h=e("h1",{id:"dashboard",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#dashboard","aria-hidden":"true"},"#"),a(" dashboard")],-1),u={href:"https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-dashboard",target:"_blank",rel:"noopener noreferrer"},m=e("code",null,"dashboard",-1),v=a(" online tutorial"),p=e("div",{class:"custom-container tip"},[e("p",{class:"custom-container-title"},"TIP"),e("p",null,[a("This is the real time statistics dashboard for the current system, press "),e("code",null,"Ctrl+C"),a(" to exit.")])],-1),b=a("When running in Apache Tomcat Alibaba edition, the dashboard will also present the real time statistics of the tomcat, including "),f={href:"https://en.wikipedia.org/wiki/Queries_per_second",target:"_blank",rel:"noopener noreferrer"},g=a("QPS"),_=a(", RT, error counts, and thread pool, etc."),T=l(`<h2 id="options" tabindex="-1"><a class="header-anchor" href="#options" aria-hidden="true">#</a> Options</h2><table><thead><tr><th style="text-align:right;">Name</th><th style="text-align:left;">Specification</th></tr></thead><tbody><tr><td style="text-align:right;">[i:]</td><td style="text-align:left;">The interval (in ms) between two executions, default is 5000 ms.</td></tr><tr><td style="text-align:right;">[n:]</td><td style="text-align:left;">The number of times this command will be executed.</td></tr></tbody></table><h2 id="usage" tabindex="-1"><a class="header-anchor" href="#usage" aria-hidden="true">#</a> Usage</h2><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>$ dashboard
ID NAME GROUP PRIORITY STATE %CPU DELTA_TIME TIME INTERRUPTE DAEMON
-1 C2 CompilerThread0 - -1 - 1.55 0.077 0:8.684 false true
53 Timer-for-arthas-dashboard-07b system 5 RUNNABLE 0.08 0.004 0:0.004 false true
@@ -30,4 +30,4 @@ java.home /Library/Java/Jav
systemload.average 10.68
processors 8
uptime 272s
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="notes-on-column-headers" tabindex="-1"><a class="header-anchor" href="#notes-on-column-headers" aria-hidden="true">#</a> Notes on column headers</h2><ul><li>ID: JVM thread ID, pls. note this ID is different from the nativeID in jstack</li><li>NAME: thread name</li><li>GROUP: thread group name</li><li>PRIORITY: thread priority, ranged from 1 to 10. The greater number, the higher priority</li><li>STATE: thread state</li><li>CPU%: the ratio of CPU usage for the thread. For example, the sampling interval is 1000ms, and the incremental cpu time of a thread is 100ms, then the cpu usage rate=100/1000=10%</li><li>DELTA_TIME: incremental CPU time of thread running after the last sampling in <code>second</code> format</li><li>TIME: total CPU time of the thread in <code>minute:second</code> format</li><li>INTERRUPTED: the thread interruption state</li><li>DAEMON: daemon thread or not</li></ul><h3 id="jvm-internal-threads" tabindex="-1"><a class="header-anchor" href="#jvm-internal-threads" aria-hidden="true">#</a> JVM internal threads</h3><p>After Java 8, it is supported to obtain the CPU time of JVM internal threads. These threads only have the name and CPU time, without ID and status information (display ID is -1).</p><p>JVM activities can be observed through internal threads, such as GC, JIT compilation, etc., to perceive the overall status of JVM.</p><ul><li>When the JVM heap/metaspace space is insufficient or OOM, it can be seen that the CPU usage of the GC threads is significantly higher than other threads.</li><li>After executing commands such as <code>trace/watch/tt/redefine</code>, you can see that JIT threads activities become more frequent. Because the JIT compilation data related to this class is cleared when the JVM hot update the class bytecode, it needs to be recompiled.</li></ul><p>JVM internal threads include the following:</p><ul><li>JIT compilation thread: such as <code>C1 CompilerThread0</code>, <code>C2 CompilerThread0</code></li><li>GC thread: such as <code>GC Thread0</code>, <code>G1 Young RemSet Sampling</code></li><li>Other internal threads: such as<code>VM Periodic Task Thread</code>, <code>VM Thread</code>, <code>Service Thread</code></li></ul><h2 id="screenshot" tabindex="-1"><a class="header-anchor" href="#screenshot" aria-hidden="true">#</a> Screenshot</h2><p><img src="`+n+'" alt="" title="dashboard"></p>',14);function M(I,C){const t=o("ExternalLinkIcon");return r(),d("div",null,[c,e("p",null,[e("a",u,[m,v,i(t)])]),p,e("p",null,[b,e("a",f,[g,i(t)]),_]),T])}var E=s(h,[["render",M],["__file","dashboard.html.vue"]]);export{E as default};
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="notes-on-column-headers" tabindex="-1"><a class="header-anchor" href="#notes-on-column-headers" aria-hidden="true">#</a> Notes on column headers</h2><ul><li>ID: JVM thread ID, pls. note this ID is different from the nativeID in jstack</li><li>NAME: thread name</li><li>GROUP: thread group name</li><li>PRIORITY: thread priority, ranged from 1 to 10. The greater number, the higher priority</li><li>STATE: thread state</li><li>CPU%: the ratio of CPU usage for the thread. For example, the sampling interval is 1000ms, and the incremental cpu time of a thread is 100ms, then the cpu usage rate=100/1000=10%</li><li>DELTA_TIME: incremental CPU time of thread running after the last sampling in <code>second</code> format</li><li>TIME: total CPU time of the thread in <code>minute:second</code> format</li><li>INTERRUPTED: the thread interruption state</li><li>DAEMON: daemon thread or not</li></ul><h3 id="jvm-internal-threads" tabindex="-1"><a class="header-anchor" href="#jvm-internal-threads" aria-hidden="true">#</a> JVM internal threads</h3><p>After Java 8, it is supported to obtain the CPU time of JVM internal threads. These threads only have the name and CPU time, without ID and status information (display ID is -1).</p><p>JVM activities can be observed through internal threads, such as GC, JIT compilation, etc., to perceive the overall status of JVM.</p><ul><li>When the JVM heap/metaspace space is insufficient or OOM, it can be seen that the CPU usage of the GC threads is significantly higher than other threads.</li><li>After executing commands such as <code>trace/watch/tt/redefine</code>, you can see that JIT threads activities become more frequent. Because the JIT compilation data related to this class is cleared when the JVM hot update the class bytecode, it needs to be recompiled.</li></ul><p>JVM internal threads include the following:</p><ul><li>JIT compilation thread: such as <code>C1 CompilerThread0</code>, <code>C2 CompilerThread0</code></li><li>GC thread: such as <code>GC Thread0</code>, <code>G1 Young RemSet Sampling</code></li><li>Other internal threads: such as<code>VM Periodic Task Thread</code>, <code>VM Thread</code>, <code>Service Thread</code></li></ul><h2 id="screenshot" tabindex="-1"><a class="header-anchor" href="#screenshot" aria-hidden="true">#</a> Screenshot</h2><p><img src="`+n+'" alt="" title="dashboard"></p>',14);function M(I,C){const t=o("ExternalLinkIcon");return r(),d("div",null,[h,e("p",null,[e("a",u,[m,v,i(t)])]),p,e("p",null,[b,e("a",f,[g,i(t)]),_]),T])}const E=s(c,[["render",M],["__file","dashboard.html.vue"]]);export{E as default};
-1
View File
@@ -1 +0,0 @@
const e=JSON.parse('{"key":"v-02361049","path":"/doc/docker.html","title":"Docker","lang":"zh-CN","frontmatter":{},"excerpt":"","headers":[{"level":2,"title":"\u5728 Docker \u91CC\u4F7F\u7528 JDK","slug":"\u5728-docker-\u91CC\u4F7F\u7528-jdk","children":[{"level":3,"title":"\u4F7F\u7528\u516C\u5F00\u7684 JDK \u955C\u50CF","slug":"\u4F7F\u7528\u516C\u5F00\u7684-jdk-\u955C\u50CF","children":[]},{"level":3,"title":"\u901A\u8FC7\u5305\u7BA1\u7406\u8F6F\u4EF6\u6765\u5B89\u88C5","slug":"\u901A\u8FC7\u5305\u7BA1\u7406\u8F6F\u4EF6\u6765\u5B89\u88C5","children":[]}]},{"level":2,"title":"\u901A\u8FC7 Docker \u5FEB\u901F\u5165\u95E8","slug":"\u901A\u8FC7-docker-\u5FEB\u901F\u5165\u95E8","children":[]},{"level":2,"title":"\u8BCA\u65AD Docker \u91CC\u7684 Java \u8FDB\u7A0B","slug":"\u8BCA\u65AD-docker-\u91CC\u7684-java-\u8FDB\u7A0B","children":[]},{"level":2,"title":"\u8BCA\u65AD k8s \u91CC\u5BB9\u5668\u91CC\u7684 Java \u8FDB\u7A0B","slug":"\u8BCA\u65AD-k8s-\u91CC\u5BB9\u5668\u91CC\u7684-java-\u8FDB\u7A0B","children":[]},{"level":2,"title":"\u628A Arthas \u5B89\u88C5\u5230\u57FA\u7840\u955C\u50CF\u91CC","slug":"\u628A-arthas-\u5B89\u88C5\u5230\u57FA\u7840\u955C\u50CF\u91CC","children":[]}],"git":{"updatedTime":1658120060000,"contributors":[{"name":"hengyunabc","email":"hengyunabc@gmail.com","commits":1}]},"filePathRelative":"doc/docker.md","version":"3.6.5"}');export{e as data};
@@ -1,9 +1,9 @@
import{_ as n,o as e,c as t,a,b as i,d as p,e as o,r as c}from"./app.e9adadd6.js";const l={},r=p(`<h1 id="docker" tabindex="-1"><a class="header-anchor" href="#docker" aria-hidden="true">#</a> Docker</h1><h2 id="\u5728-docker-\u91CC\u4F7F\u7528-jdk" tabindex="-1"><a class="header-anchor" href="#\u5728-docker-\u91CC\u4F7F\u7528-jdk" aria-hidden="true">#</a> \u5728 Docker \u91CC\u4F7F\u7528 JDK</h2><p>\u5F88\u591A\u65F6\u5019\uFF0C\u5E94\u7528\u5728 docker \u91CC\u51FA\u73B0 arthas \u65E0\u6CD5\u5DE5\u4F5C\u7684\u95EE\u9898\uFF0C\u662F\u56E0\u4E3A\u5E94\u7528\u6CA1\u6709\u5B89\u88C5 JDK \uFF0C\u800C\u662F\u5B89\u88C5\u4E86 JRE \u3002\u5982\u679C\u53EA\u5B89\u88C5\u4E86 JRE\uFF0C\u5219\u4F1A\u7F3A\u5C11\u5F88\u591A JAVA \u7684\u547D\u4EE4\u884C\u5DE5\u5177\u548C\u7C7B\u5E93\uFF0CArthas \u4E5F\u6CA1\u529E\u6CD5\u6B63\u5E38\u5DE5\u4F5C\u3002\u4E0B\u9762\u4ECB\u7ECD\u4E24\u79CD\u5E38\u89C1\u7684\u5728 Docker \u91CC\u4F7F\u7528 JDK \u7684\u65B9\u5F0F\u3002</p><h3 id="\u4F7F\u7528\u516C\u5F00\u7684-jdk-\u955C\u50CF" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528\u516C\u5F00\u7684-jdk-\u955C\u50CF" aria-hidden="true">#</a> \u4F7F\u7528\u516C\u5F00\u7684 JDK \u955C\u50CF</h3><ul><li>https://hub.docker.com/_/openjdk/</li></ul><p>\u6BD4\u5982\uFF1A</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>FROM openjdk:8-jdk
import{_ as n,o as e,c as t,a,b as p,d as i,e as l,r as o}from"./app.a799ec6e.js";const r={},c=i(`<h1 id="docker" tabindex="-1"><a class="header-anchor" href="#docker" aria-hidden="true">#</a> Docker</h1><h2 id="\u5728-docker-\u91CC\u4F7F\u7528-jdk" tabindex="-1"><a class="header-anchor" href="#\u5728-docker-\u91CC\u4F7F\u7528-jdk" aria-hidden="true">#</a> \u5728 Docker \u91CC\u4F7F\u7528 JDK</h2><p>\u5F88\u591A\u65F6\u5019\uFF0C\u5E94\u7528\u5728 docker \u91CC\u51FA\u73B0 arthas \u65E0\u6CD5\u5DE5\u4F5C\u7684\u95EE\u9898\uFF0C\u662F\u56E0\u4E3A\u5E94\u7528\u6CA1\u6709\u5B89\u88C5 JDK \uFF0C\u800C\u662F\u5B89\u88C5\u4E86 JRE \u3002\u5982\u679C\u53EA\u5B89\u88C5\u4E86 JRE\uFF0C\u5219\u4F1A\u7F3A\u5C11\u5F88\u591A JAVA \u7684\u547D\u4EE4\u884C\u5DE5\u5177\u548C\u7C7B\u5E93\uFF0CArthas \u4E5F\u6CA1\u529E\u6CD5\u6B63\u5E38\u5DE5\u4F5C\u3002\u4E0B\u9762\u4ECB\u7ECD\u4E24\u79CD\u5E38\u89C1\u7684\u5728 Docker \u91CC\u4F7F\u7528 JDK \u7684\u65B9\u5F0F\u3002</p><h3 id="\u4F7F\u7528\u516C\u5F00\u7684-jdk-\u955C\u50CF" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528\u516C\u5F00\u7684-jdk-\u955C\u50CF" aria-hidden="true">#</a> \u4F7F\u7528\u516C\u5F00\u7684 JDK \u955C\u50CF</h3><ul><li>https://hub.docker.com/_/openjdk/</li></ul><p>\u6BD4\u5982\uFF1A</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>FROM openjdk:8-jdk
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>\u6216\u8005\uFF1A</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>FROM openjdk:8-jdk-alpine
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="\u901A\u8FC7\u5305\u7BA1\u7406\u8F6F\u4EF6\u6765\u5B89\u88C5" tabindex="-1"><a class="header-anchor" href="#\u901A\u8FC7\u5305\u7BA1\u7406\u8F6F\u4EF6\u6765\u5B89\u88C5" aria-hidden="true">#</a> \u901A\u8FC7\u5305\u7BA1\u7406\u8F6F\u4EF6\u6765\u5B89\u88C5</h3><p>\u6BD4\u5982\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token comment"># Install OpenJDK-8</span>
RUN <span class="token function">apt-get</span> update <span class="token operator">&amp;&amp;</span> <span class="token punctuation">\\</span>
<span class="token function">apt-get</span> <span class="token function">install</span> -y openjdk-8-jdk <span class="token operator">&amp;&amp;</span> <span class="token punctuation">\\</span>
<span class="token function">apt-get</span> <span class="token function">install</span> -y ant <span class="token operator">&amp;&amp;</span> <span class="token punctuation">\\</span>
<span class="token function">apt-get</span> <span class="token function">install</span> <span class="token parameter variable">-y</span> openjdk-8-jdk <span class="token operator">&amp;&amp;</span> <span class="token punctuation">\\</span>
<span class="token function">apt-get</span> <span class="token function">install</span> <span class="token parameter variable">-y</span> ant <span class="token operator">&amp;&amp;</span> <span class="token punctuation">\\</span>
<span class="token function">apt-get</span> clean<span class="token punctuation">;</span>
<span class="token comment"># Fix certificate issues</span>
@@ -15,15 +15,15 @@ RUN <span class="token function">apt-get</span> update <span class="token operat
<span class="token comment"># Setup JAVA_HOME -- useful for docker commandline</span>
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN <span class="token builtin class-name">export</span> JAVA_HOME
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u6216\u8005\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>RUN yum <span class="token function">install</span> -y <span class="token punctuation">\\</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u6216\u8005\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>RUN yum <span class="token function">install</span> <span class="token parameter variable">-y</span> <span class="token punctuation">\\</span>
java-1.8.0-openjdk <span class="token punctuation">\\</span>
java-1.8.0-openjdk-devel
ENV JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk/
RUN <span class="token builtin class-name">export</span> JAVA_HOME
</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="\u901A\u8FC7-docker-\u5FEB\u901F\u5165\u95E8" tabindex="-1"><a class="header-anchor" href="#\u901A\u8FC7-docker-\u5FEB\u901F\u5165\u95E8" aria-hidden="true">#</a> \u901A\u8FC7 Docker \u5FEB\u901F\u5165\u95E8</h2><ol><li><p>\u5220\u9664\u672C\u5730\u5DF2\u6709\u7684<code>math-game</code> docker container\uFF08\u975E\u5FC5\u8981\uFF09</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">docker</span> stop math-game <span class="token operator">||</span> <span class="token boolean">true</span> <span class="token operator">&amp;&amp;</span> <span class="token function">docker</span> <span class="token function">rm</span> math-game <span class="token operator">||</span> <span class="token boolean">true</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></li><li><p>\u542F\u52A8<code>math-game</code></p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">docker</span> run --name math-game -it hengyunabc/arthas:latest /bin/sh -c <span class="token string">&quot;java -jar /opt/arthas/math-game.jar&quot;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></li><li><p>\u542F\u52A8<code>arthas-boot</code>\u6765\u8FDB\u884C\u8BCA\u65AD</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">docker</span> <span class="token builtin class-name">exec</span> -it math-game /bin/sh -c <span class="token string">&quot;java -jar /opt/arthas/arthas-boot.jar&quot;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></li><li><p>\u542F\u52A8<code>math-game</code></p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">docker</span> run <span class="token parameter variable">--name</span> math-game <span class="token parameter variable">-it</span> hengyunabc/arthas:latest /bin/sh <span class="token parameter variable">-c</span> <span class="token string">&quot;java -jar /opt/arthas/math-game.jar&quot;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div></li><li><p>\u542F\u52A8<code>arthas-boot</code>\u6765\u8FDB\u884C\u8BCA\u65AD</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">docker</span> <span class="token builtin class-name">exec</span> <span class="token parameter variable">-it</span> math-game /bin/sh <span class="token parameter variable">-c</span> <span class="token string">&quot;java -jar /opt/arthas/arthas-boot.jar&quot;</span>
* <span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>: <span class="token number">9</span> jar
<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> arthas home: /opt/arthas
@@ -41,10 +41,10 @@ wiki: https://arthas.aliyun.com/doc
version: <span class="token number">3.0</span>.5
pid: <span class="token number">9</span>
time: <span class="token number">2018</span>-12-18 <span class="token number">11</span>:30:36
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></li></ol><h2 id="\u8BCA\u65AD-docker-\u91CC\u7684-java-\u8FDB\u7A0B" tabindex="-1"><a class="header-anchor" href="#\u8BCA\u65AD-docker-\u91CC\u7684-java-\u8FDB\u7A0B" aria-hidden="true">#</a> \u8BCA\u65AD Docker \u91CC\u7684 Java \u8FDB\u7A0B</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">docker</span> <span class="token builtin class-name">exec</span> -it <span class="token variable">\${containerId}</span> /bin/bash -c <span class="token string">&quot;wget https://arthas.aliyun.com/arthas-boot.jar &amp;&amp; java -jar arthas-boot.jar&quot;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="\u8BCA\u65AD-k8s-\u91CC\u5BB9\u5668\u91CC\u7684-java-\u8FDB\u7A0B" tabindex="-1"><a class="header-anchor" href="#\u8BCA\u65AD-k8s-\u91CC\u5BB9\u5668\u91CC\u7684-java-\u8FDB\u7A0B" aria-hidden="true">#</a> \u8BCA\u65AD k8s \u91CC\u5BB9\u5668\u91CC\u7684 Java \u8FDB\u7A0B</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>kubectl <span class="token builtin class-name">exec</span> -it <span class="token variable">\${pod}</span> --container <span class="token variable">\${containerId}</span> -- /bin/bash -c <span class="token string">&quot;wget https://arthas.aliyun.com/arthas-boot.jar &amp;&amp; java -jar arthas-boot.jar&quot;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></li></ol><h2 id="\u8BCA\u65AD-docker-\u91CC\u7684-java-\u8FDB\u7A0B" tabindex="-1"><a class="header-anchor" href="#\u8BCA\u65AD-docker-\u91CC\u7684-java-\u8FDB\u7A0B" aria-hidden="true">#</a> \u8BCA\u65AD Docker \u91CC\u7684 Java \u8FDB\u7A0B</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">docker</span> <span class="token builtin class-name">exec</span> <span class="token parameter variable">-it</span> <span class="token variable">\${containerId}</span> /bin/bash <span class="token parameter variable">-c</span> <span class="token string">&quot;wget https://arthas.aliyun.com/arthas-boot.jar &amp;&amp; java -jar arthas-boot.jar&quot;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="\u8BCA\u65AD-k8s-\u91CC\u5BB9\u5668\u91CC\u7684-java-\u8FDB\u7A0B" tabindex="-1"><a class="header-anchor" href="#\u8BCA\u65AD-k8s-\u91CC\u5BB9\u5668\u91CC\u7684-java-\u8FDB\u7A0B" aria-hidden="true">#</a> \u8BCA\u65AD k8s \u91CC\u5BB9\u5668\u91CC\u7684 Java \u8FDB\u7A0B</h2><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>kubectl <span class="token builtin class-name">exec</span> <span class="token parameter variable">-it</span> <span class="token variable">\${pod}</span> <span class="token parameter variable">--container</span> <span class="token variable">\${containerId}</span> -- /bin/bash <span class="token parameter variable">-c</span> <span class="token string">&quot;wget https://arthas.aliyun.com/arthas-boot.jar &amp;&amp; java -jar arthas-boot.jar&quot;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h2 id="\u628A-arthas-\u5B89\u88C5\u5230\u57FA\u7840\u955C\u50CF\u91CC" tabindex="-1"><a class="header-anchor" href="#\u628A-arthas-\u5B89\u88C5\u5230\u57FA\u7840\u955C\u50CF\u91CC" aria-hidden="true">#</a> \u628A Arthas \u5B89\u88C5\u5230\u57FA\u7840\u955C\u50CF\u91CC</h2><p>\u53EF\u4EE5\u5F88\u7B80\u5355\u628A Arthas \u5B89\u88C5\u5230\u4F60\u7684 Docker \u955C\u50CF\u91CC\u3002</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>FROM openjdk:8-jdk-alpine
# copy arthas
COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthas
</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></div><p>\u5982\u679C\u60F3\u6307\u5B9A\u7248\u672C\uFF0C\u53EF\u4EE5\u67E5\u770B\u5177\u4F53\u7684 tags\uFF1A</p>`,24),d={href:"https://hub.docker.com/r/hengyunabc/arthas/tags",target:"_blank",rel:"noopener noreferrer"},u=o("https://hub.docker.com/r/hengyunabc/arthas/tags");function v(k,m){const s=c("ExternalLinkIcon");return e(),t("div",null,[r,a("p",null,[a("a",d,[u,i(s)])])])}var h=n(l,[["render",v],["__file","docker.html.vue"]]);export{h as default};
</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></div><p>\u5982\u679C\u60F3\u6307\u5B9A\u7248\u672C\uFF0C\u53EF\u4EE5\u67E5\u770B\u5177\u4F53\u7684 tags\uFF1A</p>`,24),d={href:"https://hub.docker.com/r/hengyunabc/arthas/tags",target:"_blank",rel:"noopener noreferrer"},u=l("https://hub.docker.com/r/hengyunabc/arthas/tags");function v(k,m){const s=o("ExternalLinkIcon");return e(),t("div",null,[c,a("p",null,[a("a",d,[u,p(s)])])])}const h=n(r,[["render",v],["__file","docker.html.vue"]]);export{h as default};

Some files were not shown because too many files have changed in this diff Show More