更新時(shí)間:2021-10-28 11:13:22 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1397次
jstack用于打印出給定的java進(jìn)程ID或core file或遠(yuǎn)程調(diào)試服務(wù)的java堆棧信息.
jstack pid:如果java程序崩潰生成core文件,jstack工具可以用來(lái)獲得core文件的java stack和native stack的信息,從而可以輕松地知道java程序是如何崩潰和在程序何處發(fā)生問(wèn)題。另外,jstack工具還可以附屬到正在運(yùn)行的java程序中,看到當(dāng)時(shí)運(yùn)行的java程序和java stack和native stack的信息。
jstack[option] pid
jstack[option] executable core
jstack[option] [server-id@]remote-hostname-or-IP
1)、options:
executable Java executable from which the core dump was produced.
(可能是產(chǎn)生core dump的java可執(zhí)行程序)
core 將被打印信息的core dump文件
remote-hostname-or-IP 遠(yuǎn)程debug服務(wù)的主機(jī)名或ip
server-id 唯一id,假如一臺(tái)主機(jī)上多個(gè)遠(yuǎn)程debug服務(wù)
2)、基本參數(shù)
-F當(dāng)’jstack [-l] pid’沒(méi)有相應(yīng)的時(shí)候強(qiáng)制打印棧信息
-l長(zhǎng)列表. 打印關(guān)于鎖的附加信息,例如屬于java.util.concurrent的ownable synchronizers列表.
-m打印java和native c/c++框架的所有棧信息.
-h | -help打印幫助信息
pid 需要被打印配置信息的java進(jìn)程id,可以用jps查詢.
打印出某個(gè)java進(jìn)程內(nèi)存的,所有“對(duì)象”的情況。
也可以輸出所有內(nèi)存中對(duì)象的工具,甚至可以將VM中的Heap,以二進(jìn)制輸出成文本。使用方法 jmap -histo pid。如果連用shell jmap -histo pid > a.log可以將其保存到文本中去,然后在使用文本對(duì)比工具,可以對(duì)比GC回收了那些對(duì)象。jmap -dump :format = b,file = outfile 3024可以將3024進(jìn)程的內(nèi)存heap輸出來(lái)到outfile文件里,在配合MAT.
SYNOPSIS
jmap [ option ] pid
jmap [ option ] executable core
jmap [ option ] [server-id@]remote-hostname-or-IP
-dump:[live,]format=b,file=<filename> 使用hprof二進(jìn)制形式,輸出jvm的heap內(nèi)容到文件=. live子選項(xiàng)是可選的,假如指定live選項(xiàng),那么只輸出活的對(duì)象到文件.
-finalizerinfo 打印正等候回收的對(duì)象的信息.
-heap 打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用情況.
-histo[:live] 打印每個(gè)class的實(shí)例數(shù)目,內(nèi)存占用,類全名信息. VM的內(nèi)部類名字開(kāi)頭會(huì)加上前綴”*”. 如果live子參數(shù)加上后,只統(tǒng)計(jì)活的對(duì)象數(shù)量.
-permstat 打印classload和jvm heap長(zhǎng)久層的信息. 包含每個(gè)classloader的名字,活潑性,地址,父classloader和加載的class數(shù)量. 另外,內(nèi)部String的數(shù)量和占用內(nèi)存數(shù)也會(huì)打印出來(lái).
-F 強(qiáng)迫.在pid沒(méi)有相應(yīng)的時(shí)候使用-dump或者-histo參數(shù). 在這個(gè)模式下,live子參數(shù)無(wú)效.
-h | -help 打印輔助信息
-J 傳遞參數(shù)給jmap啟動(dòng)的jvm.
pid 需要被打印配相信息的java進(jìn)程id,創(chuàng)業(yè)與打工的區(qū)別 - 博文預(yù)覽,可以用jps查問(wèn).
是用來(lái)分析java堆的命令,可以將堆中的對(duì)象以html的形式顯示出來(lái),包括對(duì)象的數(shù)量,大小等。
第一步:導(dǎo)出堆
第二步:分析堆文件
第三步:查看html
(1)顯示出堆中所包含的所有類
(2)從根集到引用到的對(duì)象
(3)顯示平臺(tái)包括的所有類的實(shí)例對(duì)象
(4)堆實(shí)例的分布表
通過(guò)上述相信大家對(duì)Java性能測(cè)試工具已經(jīng)有了一定的了解,大家若想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java開(kāi)發(fā)工具頁(yè)面,里面有更多的工具知識(shí)可以供大家學(xué)習(xí)參考,希望對(duì)大家能夠有所幫。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743