jvm-Java命令行工具,即MAT堆轉(zhuǎn)存儲(chǔ)快照分析

1.jps(JVM Process Status Tool):
可以列出正在運(yùn)行的虛擬機(jī)進(jìn)程芬首,并顯示虛擬機(jī)執(zhí)行主類(Main Class ,main()所在的類)名稱以及這些進(jìn)程的本地虛擬機(jī)唯一ID(LVMID).


image.png

因?yàn)閖sp命令可以獲取到LVMID命满,所以平時(shí)也經(jīng)常會(huì)用到原杂,因?yàn)榇蠖鄶?shù)命令會(huì)需要這個(gè)LVMID戒祠。
jps命令格式
jps [options] [hostid]

jps工具主要選項(xiàng)


image.png

2.jstat(JVM Statistics Monitoring Tool)
是用來(lái)監(jiān)視虛擬機(jī)各種運(yùn)行狀態(tài)信息的命令行工具瓢对。它可以顯示本地或者遠(yuǎn)程虛擬機(jī)進(jìn)程中的類裝載靠胜,內(nèi)存萌衬,垃圾收集饮醇,JIT編譯等運(yùn)行數(shù)據(jù),在沒(méi)有GUI圖形工具秕豫,只提供了純文本控制臺(tái)環(huán)境的服務(wù)器上朴艰,他僵尸運(yùn)行期定位虛擬機(jī)性能問(wèn)題的首選工具。

命令格式
jstat [ option vmid [interval [s|ms] [count] ] ]
interval 和 count代表查詢間隔時(shí)間和次數(shù)
option代表這用戶需要查詢的信息混移,主要分3類:類裝載祠墅,垃圾收集,運(yùn)行期編譯狀態(tài)歌径。


image.png

查看GC


image.png

S0C:第一個(gè)survivor的大小
S1C:第二個(gè)survivor的大小
S0U:第一個(gè)survivor的使用大小
S1U:第二個(gè)survivor的使用大小
EC:eden區(qū)的大小
EU:eden區(qū)的使用大小
OC:老年代大小
OU:老年代使用大小
MC:方法區(qū)大小
MU:方法區(qū)使用大小
CCSC:壓縮類空間大小
CCSU:壓縮類空間使用大小
YGC:年輕代垃圾回收次數(shù)
YGCT:年輕代垃圾回收消耗時(shí)間
FGC:老年代垃圾回收次數(shù)
FGCT:老年代垃圾回收消耗時(shí)間
GCT:垃圾回收消耗總時(shí)間

image.png

Loaded:加載class的數(shù)量
Bytes:所占用空間大小
Unloaded:未加載數(shù)量
Bytes:未加載占用空間
Time:時(shí)間

image.png

Compiled:編譯數(shù)量毁嗦。
Failed:失敗數(shù)量
Invalid:不可用數(shù)量
Time:時(shí)間
FailedType:失敗類型
FailedMethod:失敗的方法


3.jinfo:java配置信息工具
jinfo的作用是實(shí)時(shí)的查看和調(diào)整虛擬機(jī)各項(xiàng)參數(shù)
命令格式
jinfo [option] pid

jinfo -flags 3337
查看正在運(yùn)行的Java程序的擴(kuò)展參數(shù)信息


image.png

jinfo -sysprops 3337


image.png

---------------------------------------------------------------------------------------------------------------4.jmap java 內(nèi)存映像工具
jmap命令用于生成堆轉(zhuǎn)存儲(chǔ)快照(dump 文件),還可以查看finalize執(zhí)行隊(duì)列,Java堆和永久代詳細(xì)信息,如空間使用率,當(dāng)前用的哪種收集器等
命令格式
jmap [option] vmid


image.png

5.jhat:虛擬機(jī)堆轉(zhuǎn)儲(chǔ)快照分析工具
jhat命令與jmap搭配使用,來(lái)分析jmap生成的堆轉(zhuǎn)存儲(chǔ)快照.jhat內(nèi)置一個(gè)微型的HTTP/HTML服務(wù)器,生成dump文件的分析結(jié)果后,可以再瀏覽器中查看


6.jstack:Java堆棧跟蹤工具
jstack命令用于生成虛擬機(jī)當(dāng)前時(shí)刻的線程快照(threaddump或者javacore文件).
線程快照就是當(dāng)前虛擬機(jī)內(nèi)每一條線程正在執(zhí)行的方法堆棧的集合,生成線程快照的主要目的是定位線程出現(xiàn)長(zhǎng)時(shí)間停頓的原因.
命令格式
jstack [option] vmid


image.png

JVM可視化監(jiān)視
1、JConsole --jdk1.5即提供
Java監(jiān)控與管理控制臺(tái)回铛,windows下雙擊jdk安裝目錄bin下的jconsole.exe啟動(dòng)狗准,可以監(jiān)控本地java虛擬機(jī),也可監(jiān)控遠(yuǎn)程java虛擬機(jī)勺届;
概要是總體信息
內(nèi)存標(biāo)簽頁(yè)相當(dāng)于jstat命令
線程標(biāo)簽頁(yè)相當(dāng)于jstack命令
注:使用圖形化工具驶俊,要開(kāi)啟JMX

2、VisualVM --jdk1.6 u7才提供免姿,但也可以監(jiān)控jdk1.4.2這樣老版本的java虛擬機(jī);
可能是最好的java虛擬機(jī)監(jiān)控工具榕酒,其功能比收費(fèi)工具JProfiler也不遜色多少胚膊;
在jdk安裝目標(biāo)bin下雙擊jvisualvm.exe啟動(dòng)VisualVM;
VisualVM基于NetBeans開(kāi)發(fā)想鹰,可以支持安裝多種插件紊婉,在菜單的工具-->插件一欄可以選擇安裝自己需要的插件;
注意:
JDK1.5及之前的版本要開(kāi)啟JMX功能辑舷,需在程序啟動(dòng)前加上參數(shù)-Dcom.sun.management.jmxremote喻犁,JDK的一些可視化工具需要開(kāi)啟JMX功能才能使用,JDK1.5之后的版本默認(rèn)是開(kāi)啟了JMX的何缓,無(wú)需加該參數(shù)肢础;

  1. JVM內(nèi)存溢出分析
    Memory Analysis(dump文件) mat
    下載:https://www.eclipse.org/mat/

可以通過(guò)一下命令,生成堆轉(zhuǎn)存快照
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=e:/export/heapdump.hprof

也可以通過(guò)jmap
jmap -dump:format=b,file=d:/logs/heapdump2.hprof pid

format=b 表示格式為二進(jìn)制

image.png
image.png
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市碌廓,隨后出現(xiàn)的幾起案子传轰,更是在濱河造成了極大的恐慌,老刑警劉巖谷婆,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件慨蛙,死亡現(xiàn)場(chǎng)離奇詭異辽聊,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)期贫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門跟匆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人通砍,你說(shuō)我怎么就攤上這事贾铝。” “怎么了埠帕?”我有些...
    開(kāi)封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵垢揩,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我敛瓷,道長(zhǎng)叁巨,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上卡啰,老公的妹妹穿的比我還像新娘豺旬。我一直安慰自己,他們只是感情好轻专,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般苏章。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奏瞬,一...
    開(kāi)封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天枫绅,我揣著相機(jī)與錄音,去河邊找鬼硼端。 笑死并淋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的珍昨。 我是一名探鬼主播县耽,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼镣典!你這毒婦竟也來(lái)了兔毙?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤骆撇,失蹤者是張志新(化名)和其女友劉穎瞒御,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體神郊,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肴裙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年趾唱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜻懦。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡甜癞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宛乃,到底是詐尸還是另有隱情悠咱,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布征炼,位于F島的核電站析既,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏谆奥。R本人自食惡果不足惜眼坏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望酸些。 院中可真熱鬧宰译,春花似錦、人聲如沸魄懂。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)市栗。三九已至缀拭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間肃廓,已是汗流浹背智厌。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盲赊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓敷扫,卻偏偏與公主長(zhǎng)得像哀蘑,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子葵第,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355