日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如何安裝使用Arthas

這篇文章給大家分享的是有關(guān)如何安裝使用Arthas的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

十多年的上蔡網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整上蔡建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“上蔡網(wǎng)站設(shè)計(jì)”,“上蔡網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

安裝

安裝:

wget https://alibaba.github.io/arthas/arthas-boot.jar
java -jar arthas-boot.jar

linux 下直接執(zhí)行,window 下載文件后執(zhí)行。

如何安裝使用Arthas

執(zhí)行完成后,顯示當(dāng)前 path 中指定的 JDK 中正在運(yùn)行的 java 進(jìn)程輸入相應(yīng)序號(hào),進(jìn)入 sh 命令,表示已連接成功。

初步使用

Arthas 命令初步使用,大概分為 5 類:

基礎(chǔ)命令

  • help——查看命令幫助信息

  • cat——打印文件內(nèi)容,和 linux 里的 cat 命令類似

  • pwd——返回當(dāng)前的工作目錄,和 linux 命令類似

  • cls——清空當(dāng)前屏幕區(qū)域

  • session——查看當(dāng)前會(huì)話的信息

  • reset——重置增強(qiáng)類,將被 Arthas 增強(qiáng)過(guò)的類全部還原,Arthas 服務(wù)端關(guān)閉時(shí)會(huì)重置所有增強(qiáng)過(guò)的類

  • version——輸出當(dāng)前目標(biāo) Java 進(jìn)程所加載的 Arthas 版本號(hào)

  • history——打印命令歷史

  • quit——退出當(dāng)前 Arthas 客戶端,其他 Arthas 客戶端不受影響

  • shutdown——關(guān)閉 Arthas 服務(wù)端,所有 Arthas 客戶端全部退出

  • keymap——Arthas快捷鍵列表及自定義快捷鍵

jvm相關(guān)

  • dashboard——當(dāng)前系統(tǒng)的實(shí)時(shí)數(shù)據(jù)面板

  • thread——查看當(dāng)前 JVM 的線程堆棧信息

  • jvm——查看當(dāng)前 JVM 的信息

  • sysprop——查看和修改 JVM 的系統(tǒng)屬性

  • sysenv——查看 JVM 的環(huán)境變量

  • getstatic——查看類的靜態(tài)屬性

  • New! ognl——執(zhí)行 ognl 表達(dá)式

  • New! mbean——查看 Mbean 的信息

class/classloader相關(guān)

  • sc——查看 JVM 已加載的類信息

  • sm——查看已加載類的方法信息

  • jad——反編譯指定已加載類的源碼

  • mc——內(nèi)存編繹器,內(nèi)存編繹 .java 文件為 .class 文件

  • redefine——加載外部的 .class 文件,redefine 到 JVM 里

  • dump——dump 已加載類的 byte code 到特定目錄

  • classloader——查看 classloader 的繼承樹(shù),urls,類加載信息,使用 classloader 去 getResource

monitor/watch/trace 相關(guān)

請(qǐng)注意,這些命令,都通過(guò)字節(jié)碼增強(qiáng)技術(shù)來(lái)實(shí)現(xiàn)的,會(huì)在指定類的方法中插入一些切面來(lái)實(shí)現(xiàn)數(shù)據(jù)統(tǒng)計(jì)和觀測(cè),因此在線上、預(yù)發(fā)使用時(shí),請(qǐng)盡量明確需要觀測(cè)的類、方法以及條件,診斷結(jié)束要執(zhí)行 shutdown 或?qū)⒃鰪?qiáng)過(guò)的類執(zhí)行 reset 命令。

  • monitor——方法執(zhí)行監(jiān)控

  • watch——方法執(zhí)行數(shù)據(jù)觀測(cè)

  • trace——方法內(nèi)部調(diào)用路徑,并輸出方法路徑上的每個(gè)節(jié)點(diǎn)上耗時(shí)

  • stack——輸出當(dāng)前方法被調(diào)用的調(diào)用路徑

  • tt——方法執(zhí)行數(shù)據(jù)的時(shí)空隧道,記錄下指定方法每次調(diào)用的入?yún)⒑头祷匦畔?,并能?duì)這些不同的時(shí)間下調(diào)用進(jìn)行觀測(cè)

options

  • options——查看或設(shè)置 Arthas 全局開(kāi)關(guān)

使用實(shí)列

  • trace 分析每個(gè)方法的具體執(zhí)行時(shí)間

如何安裝使用Arthas

通過(guò)圖示表明調(diào)用 MongoTemplate.executeFindMultiInternal() 方法時(shí),最耗時(shí)的方法是在 doWith() 方法,總共執(zhí)行 10000 次,耗時(shí) ==252.3064ms==,最少一次調(diào)用耗時(shí) ==0.0132ms==,最大一次耗時(shí) ==38.4329ms==,分析原因還是在于數(shù)據(jù)量太大,MongoTemplate 通過(guò)循環(huán)遍歷出結(jié)果在進(jìn)行序列化。

  • jad 反編譯代碼工具

jad com.sankuai.inf.leaf.common.ZeroIDGen
  • watch 查看輸入?yún)?shù)與輸出參數(shù)

watch com.sankuai.inf.leaf.server.service.SegmentService getId '{params, target, returnObj}' -x 2

params 表示入?yún)ⅲ?strong>target 表示當(dāng)前的類,returnObj 表示返回值。

如何安裝使用Arthas

  • stack 查看被調(diào)用的路徑(向上)

stack com.sankuai.inf.leaf.server.service.SegmentService getId
  • sc 查看 JVM 已加載的類信息

sc -d com.sankuai.inf.leaf.server.service.SegmentService getId

如何安裝使用Arthas

  • thread 分析死鎖

thread b


如何安裝使用Arthas

可以看出當(dāng)前線程正在等待 ReentrantLock$NonfairSync@118f1fb4,而持有這個(gè)對(duì)象的線程又在等待當(dāng)前線程釋放,從而形成死鎖!

  • thread 分析 CPU 占用

總結(jié)

先放一張官方的總結(jié)大圖:

如何安裝使用Arthas

感謝各位的閱讀!關(guān)于“如何安裝使用Arthas”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


本文標(biāo)題:如何安裝使用Arthas
文章路徑:http://www.dlmjj.cn/article/ippccs.html