男同gay片av网站,美女视频黄8频美女视频,男人j放进女人p全黄,柠檬福利精品视频导航,免费涩情网站

首頁
手機(jī)版
熱門搜索:
當(dāng)前位置:電腦軟件編程開發(fā)調(diào)試編譯阿里巴巴阿爾薩斯開源Java診斷工具

阿里巴巴阿爾薩斯開源Java診斷工具 官方版V3.1.1

  • 大?。?.87MB
  • 語言:簡體中文
  • 類別:調(diào)試編譯
  • 類型:免費(fèi)軟件
  • 授權(quán):國產(chǎn)軟件
  • 時(shí)間:2019/09/07
  • 官網(wǎng):http://goqiche.cn
  • 環(huán)境:Windows7, Windows10, WindowsAll

相關(guān)軟件

阿里巴巴Arthas是一款電腦監(jiān)控診斷軟件,該工具可以對JAVA代碼進(jìn)行性能分析,通過命令行來交互,開源免費(fèi)使用,堪稱神器,功能非常強(qiáng)大。

軟件介紹

Arthas 是Alibaba開源的Java診斷工具,深受開發(fā)者喜愛。在線排查問題,無需重啟;動態(tài)跟蹤Java代碼;實(shí)時(shí)監(jiān)控JVM狀態(tài)。

Arthas 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同時(shí)提供豐富的 Tab 自動補(bǔ)全功能,進(jìn)一步方便進(jìn)行問題的定位和診斷。

軟件功能

Arthas圖片1

當(dāng)你遇到以下類似問題而束手無策時(shí),Arthas可以幫助你解決:

這個類從哪個 jar 包加載的?為什么會報(bào)各種類相關(guān)的 Exception?

我改的代碼為什么沒有執(zhí)行到?難道是我沒 commit?分支搞錯了?

遇到問題無法在線上 debug,難道只能通過加日志再重新發(fā)布嗎?

線上遇到某個用戶的數(shù)據(jù)處理有問題,但線上同樣無法 debug,線下無法重現(xiàn)!

是否有一個全局視角來查看系統(tǒng)的運(yùn)行狀況?

有什么辦法可以監(jiān)控到JVM的實(shí)時(shí)運(yùn)行狀態(tài)?

基礎(chǔ)命令

Arthas圖片2

help——查看命令幫助信息

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

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

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

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

history——打印命令歷史

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

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

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

安裝教程

阿里巴巴Arthas的安裝流程是非常簡單的,用戶可以通過Java直接自動安裝,不過如果安裝過舊版的用戶建議卸載原版本后重新手動安裝,不過也相當(dāng)簡單,不過一些新手用戶還是不會操作,所以下面小編就帶來安裝教程,讓你輕松安裝這款工具:

下載本業(yè)壓縮包解壓后,在文件夾里有arthas-boot.jar,直接用java -jar的方式啟動:

java -jar arthas-boot.jar

打印幫助信息:

java -jar arthas-boot.jar -h

手動安裝方法:

解壓縮arthas的壓縮包

unzip arthas-packaging-bin.zip

安裝Arthas

安裝之前最好把所有老版本的Arthas全都刪掉

sudo su admin

rm -rf /home/admin/.arthas/lib/*

cd arthas

./install-local.sh

注意,這里根據(jù)你需要診斷的Java進(jìn)程的所屬用戶進(jìn)行切換

啟動Arthas

啟動之前,請確保老版本的Arthas已經(jīng)shutdown.

./as.sh

使用指南

阿里巴巴Arthas的使用由命令行來輸入,同樣也使用命令行來交互溝通,所以對于命令的使用得當(dāng)就能完美使用這款監(jiān)控神器,下面小編就帶來詳細(xì)的阿里巴巴Arthas使用指南,讓你全面了解命令使用的作用和功能:

常用命令

dashboard

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

Arthas使用指南圖片1

參數(shù)解釋

ID: Java級別的線程ID,注意這個ID不能跟jstack中的nativeID一一對應(yīng)

NAME: 線程名

GROUP: 線程組名

PRIORITY: 線程優(yōu)先級, 1~10之間的數(shù)字,越大表示優(yōu)先級越高

STATE: 線程的狀態(tài)

CPU%: 線程消耗的cpu占比,采樣100ms,將所有線程在這100ms內(nèi)的cpu使用量求和,再算出每個線程的cpu使用占比。

TIME: 線程運(yùn)行總時(shí)間

INTERRUPTE: 線程當(dāng)前的中斷位狀態(tài)

thread

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

Arthas使用指南圖片2

參數(shù)說明

id

線程id

-n

指定最忙的前N個線程并打印堆棧

b

找出當(dāng)前阻塞其他線程的線程

-i

指定cpu占比統(tǒng)計(jì)的采樣間隔,單位為毫秒

PS: 這里的cpu統(tǒng)計(jì)的是,一段采樣間隔內(nèi),當(dāng)前JVM里各個線程所占用的cpu時(shí)間占總cpu時(shí)間的百分比。其計(jì)算方法為: 首先進(jìn)行一次采樣,獲得所有線程的cpu的使用時(shí)間(調(diào)用的是java.lang.management.ThreadMXBean#getThreadCpuTime這個接口),然后睡眠一段時(shí)間,默認(rèn)100ms,可以通過-i參數(shù)指定,然后再采樣一次,最后得出這段時(shí)間內(nèi)各個線程消耗的cpu時(shí)間情況,最后算出百分比。注意: 這個統(tǒng)計(jì)也會產(chǎn)生一定的開銷(JDK這個接口本身開銷比較大),因此會看到as的線程占用一定的百分比,為了降低統(tǒng)計(jì)自身的開銷帶來的影響,可以把采樣間隔拉長一些,比如5000毫秒。

sc

Arthas使用指南圖片3

參數(shù)說明

class-pattern

類名表達(dá)式匹配

-d

輸出當(dāng)前類的詳細(xì)信息,包括這個類所加載的原始文件來源、類的聲明、加載的ClassLoader等詳細(xì)信息。如果一個類被多個ClassLoader所加載,則會出現(xiàn)多次

-E

開啟正則表達(dá)式匹配,默認(rèn)為通配符匹配

-f

輸出當(dāng)前類的成員變量信息(需要配合參數(shù)-d一起使用)

-x

指定輸出靜態(tài)變量時(shí)屬性的遍歷深度,默認(rèn)為 0,即直接使用 toString 輸出

PS: class-pattern支持全限定名,如com.test.AAA,也支持com/test/AAA這樣的格式,這樣,我們從異常堆棧里面把類名拷貝過來的時(shí)候,不需要在手動把/替換為.啦,

sc 默認(rèn)開啟了子類匹配功能,也就是說所有當(dāng)前類的子類也會被搜索出來,想要精確的匹配,請打開options disable-sub-class true開關(guān)

sm

查看已加載類的方法信息

Arthas使用指南圖片4

參數(shù)說明

class-pattern

類名表達(dá)式匹配

method-pattern

方法名表達(dá)式匹配

-d

展示每個方法的詳細(xì)信息

-E

開啟正則表達(dá)式匹配,默認(rèn)為通配符匹配

PS:查看已加載類的方法信息, “Search-Method” 的簡寫,這個命令能搜索出所有已經(jīng)加載了 Class 信息的方法信息。

sm 命令只能看到由當(dāng)前類所聲明 (declaring) 的方法,父類則無法看到

monitor

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

Arthas使用指南圖片5

參數(shù)說明

class-pattern

類名表達(dá)式匹配

method-pattern

方法名表達(dá)式匹配

-c

統(tǒng)計(jì)周期,默認(rèn)值為120秒

監(jiān)控項(xiàng)

timestamp 時(shí)間戳

class java類

method 方法(構(gòu)造方法、普通方法)

total 調(diào)用次數(shù)

success 成功次數(shù)

fail 失敗次數(shù)

rt 平均rt

fail-rate 失敗率

PS:方法執(zhí)行監(jiān)控, 對匹配 class-pattern/method-pattern的類、方法的調(diào)用進(jìn)行監(jiān)控。

trace

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

Arthas使用指南圖片6

參數(shù)說明

class-pattern

類名表達(dá)式匹配

method-pattern

方法名表達(dá)式匹配

condition-express

條件表達(dá)式

-n

命令執(zhí)行次數(shù)

#cost

方法執(zhí)行耗時(shí)

PS: 很多時(shí)候我們只想看到某個方法的rt大于某個時(shí)間之后的trace結(jié)果,例如trace *StringUtils isBlank '$cost>100’表示當(dāng)執(zhí)行時(shí)間超過100ms的時(shí)候,才會輸出trace的結(jié)果。

stack

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

Arthas使用指南圖片7

輸出當(dāng)前方法被調(diào)用的調(diào)用路徑, 很多時(shí)候我們都知道一個方法被執(zhí)行,但這個方法被執(zhí)行的路徑非常多,或者你根本就不知道這個方法是從那里被執(zhí)行了,此時(shí)你需要的是 stack 命令。

參數(shù)說明

class-pattern

類名表達(dá)式匹配

method-pattern

方法名表達(dá)式匹配

condition-express

條件表達(dá)式

-n

執(zhí)行次數(shù)限制

watch

方法執(zhí)行數(shù)據(jù)觀測

Arthas使用指南圖片8

方法執(zhí)行數(shù)據(jù)觀測, 讓你能方便的觀察到指定方法的調(diào)用情況。能觀察到的范圍為:返回值、拋出異常、入?yún)ⅲㄟ^編寫 groovy 表達(dá)式進(jìn)行對應(yīng)變量的查看。

參數(shù)說明

class-pattern

類名表達(dá)式匹配

method-pattern

方法名表達(dá)式匹配

express

觀察表達(dá)式

condition-express

條件表達(dá)式

-b

在方法調(diào)用之前觀察(默認(rèn)關(guān)閉)

-e

在方法異常之后觀察(默認(rèn)關(guān)閉)

-s

在方法返回之后觀察(默認(rèn)關(guān)閉)

-f

在方法結(jié)束之后(正常返回和異常返回)觀察 (默認(rèn)開啟)

-x

指定輸出結(jié)果的屬性遍歷深度,默認(rèn)為0

PS:這里重點(diǎn)要說明的是觀察表達(dá)式,觀察表達(dá)式的構(gòu)成主要由 groovy 表達(dá)式組成,只要是一個合法的 groovy 表達(dá)式,都能被正常支持。

觀察的維度也比較多,主要體現(xiàn)在參數(shù) advice 的數(shù)據(jù)結(jié)構(gòu)上。Advice 參數(shù)最主要是封裝了通知節(jié)點(diǎn)的所有信息。

遠(yuǎn)程連接方法

1. 遠(yuǎn)程開啟調(diào)試功能!

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8739

2. ide 開戶遠(yuǎn)程 debug!

Arthas遠(yuǎn)程連接方法圖片

就ok 了!

接下來,就是debug時(shí)間,支持任意斷點(diǎn),包括啟動時(shí)的斷點(diǎn);

另外,對于臨時(shí)的代碼改動,可以進(jìn)行即時(shí)生效!

需要注意的是,在遠(yuǎn)程debug時(shí),控制臺的輸出將是向遠(yuǎn)程輸出,而非向本地輸出!

更新內(nèi)容

trace支持打印line number #668

增加mbean命令 #666

webconsole支持傳遞ip/port參數(shù) #488

修復(fù)jobs系統(tǒng),重定向 #695 #694

修復(fù)jad 反編繹lambda類出錯的問題 #675

改進(jìn)mc命令查找package/class的機(jī)制 #661

支持windows下中文目錄 #574 #335

每次執(zhí)行都保存commnad history #9

dashboard命令更好展示Runtime信息 #696

redefine命令打印redefine歷史 #530

Upgrade netty to 4.1.36.Final #680

Upgrade termd to 1.1.7.4 #697

支持nobody用戶啟動 #572

jad命令支持method補(bǔ)全 #667

dump命令支持自動補(bǔ)全 #623

options命令支持自動補(bǔ)全 #612

在windows下支持診斷以service啟動的進(jìn)程 #581

修復(fù)命令為空時(shí) tab自動補(bǔ)全 #564

升級可能會遇到的問題:

Agent jar file does not exist #700

標(biāo)簽: 性能監(jiān)控 java開發(fā) java診斷 開源軟件

開源軟件下載專題中是小編將市面上的開源項(xiàng)目軟件收集而來,因?yàn)橛杏脩糇稍兠赓M(fèi)開源軟件有哪些,所以小編將這些使用開源協(xié)議的軟件進(jìn)行了整合,方便用戶尋找并使用,開源軟件對于個人來說是完全免費(fèi)的,大多數(shù)可以商用,快下載體驗(yàn)吧!

下載地址

阿里巴巴阿爾薩斯開源Java診斷工具 官方版V3.1.1

普通下載通道

網(wǎng)友評論

返回頂部