最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

JVM調(diào)優(yōu)工具介紹(1)

2023-05-03 16:44 作者:驛路梅花帶雪看2  | 我要投稿

JVM調(diào)優(yōu)工具介紹(1)

對大多數(shù)java開發(fā)從業(yè)人員來說,對jvm進(jìn)行調(diào)優(yōu)是許多java開發(fā)人員必然碰到的難題。工欲善其事必先利其器,給系統(tǒng)定位,知識、經(jīng)驗是關(guān)鍵,但同樣選擇一款趁手適合的工具同樣重要!今天,筆者就根據(jù)自己多年的開發(fā)經(jīng)驗,為大家分享jvm一些調(diào)優(yōu)工具的使用。在開始之前,我們應(yīng)該意識到:工具只是知識技能的延伸。沒有什么工具能包治百病,解決一切問題。

1、? jps:虛擬機(jī)進(jìn)程狀況工具

jps工具是jvm虛擬機(jī)的基礎(chǔ)工具,jvm的虛擬機(jī)基礎(chǔ)工具路徑在java安裝路徑\bin目錄下。jps命令的作用是列出正在運行的虛擬機(jī)進(jìn)程,并顯示虛擬機(jī)執(zhí)行主類(main()方法所在的類)以及這些進(jìn)程本地虛擬機(jī)唯一id(也叫LVMID),工具功能比較單一,但使用頻次確是最高的。因為其他命令需要使用到LVMID。jps命令格式如下:

jps {options} {host id}

沒有啟動eclipse或idea默認(rèn)jvm進(jìn)程示例如下圖(1):

圖(1)沒啟動eclipse

啟動jvm進(jìn)程示例如下圖(2):

圖(2)啟動eclipse并運行代碼

解釋:52020為啟動類com.xia.jvm.study.chapter4.JVMUtilsTest的進(jìn)程id。79364為eclipse開發(fā)工具的id。

jps常用的參數(shù)如下:

①、-q,只輸出LVMID,不輸出主類的參數(shù),如圖(3)所示;②、-m:輸出虛擬機(jī)啟動時的參數(shù),如圖(4)所示;③、-l:輸出主類的全名,如果執(zhí)行的是jar包,則輸出jar全路徑。如圖(2)所示;④、-v:輸出虛擬機(jī)啟動時的jvm參數(shù),如圖(5)所示;

圖(3)jps -q


圖(4)jps -m


圖(5)jps -v

2、? 虛擬機(jī)統(tǒng)計信息監(jiān)視工具

jstat(JVM Statistics Monitoring Tool)是用于監(jiān)視jvm各種運行狀態(tài)信息,它可以顯示jvm進(jìn)程中類加載、內(nèi)存、垃圾回收、即時編譯器等運行時數(shù)據(jù)。jstat命令格式如下:

jstat [option vmid [interval[s|ms] [count]] ]

vmid是指本地虛擬機(jī)id,如果是遠(yuǎn)程的vmid的格式為:[protocal:][//]lvmid[@hostname[:port]/servername]。

參數(shù)interval和count表示查詢間隔和查詢次數(shù)。示例如圖(6)所示:

圖(6)jstat -gc 860 300 10000

其中:-gc表示垃圾回收操作;860表示正在運行的jvmid,300表示每隔300毫秒查詢一次,10000表示一共查詢10000次。返回參數(shù)含義如下:

S0C? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 第一個survivor的容量(KB)

S1C? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 第二個survivor的容量(KB)

S0U? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 第一個survivor已經(jīng)使用的容量(KB)

S1U? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 第二個survivor已經(jīng)使用的容量(KB)

EC? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Eden區(qū)的容量(KB)

EU? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Eden區(qū)已經(jīng)使用的容量(KB)

OC? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?老年代的容量(KB)

OU? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 老年代已經(jīng)使用的容量(KB)

MC? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 元空間的容量(KB)

MU? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 元空間已經(jīng)使用的容量(KB)

CCSC? ? ? ? ? ? ? ? ? ? ? ? ?壓縮類的容量(KB)

CCSU? ? ? ? ? ? ? ? ? ? ? ? ?壓縮類已經(jīng)使用的容量(KB)

YGC? ? ? ? ? ? ? ? ? ? ? ? ? ? 年輕代垃圾收集的次數(shù)

YGCT? ? ? ? ? ? ? ? ? ? ? ? ? 年輕代垃圾收集消耗時間

FGC? ? ? ? ? ? ? ? ? ? ? ? ? ? 老輕代垃圾收集的次數(shù)

FGCT? ? ? ? ? ? ? ? ? ? ? ? ?老輕代垃圾收集消耗時間

GCT? ? ? ? ? ? ? ? ? ? ? ? ? ?垃圾收集消耗總時間

jstat常見的參數(shù)可以分為三類:類加載、垃圾收集、運行期編譯狀況,主要有:

-class

監(jiān)視類加載、卸載數(shù)量、總空間以及類裝載所耗費的時間。

-gc

表示java的堆信息,包括Eden區(qū)、survivor區(qū)域、老年代、永久代等的容量信息,已用空間,垃圾收集時間合計信息。

-gccapacity

監(jiān)視內(nèi)容基本和gc相同,但是輸出主要關(guān)注在java堆各區(qū)域使用到的最大空間和最小空間。

-gcutil

監(jiān)視內(nèi)容基本和gc相同,但是輸出主要關(guān)注已使用空間和占總空間的百分比。

-gccause

和gcutil功能一樣,但是會額外輸出導(dǎo)致上一次垃圾收集產(chǎn)生的原因。

-gcnew

新生代垃圾收集情況。

-gcnewcapacity

和gcnew功能一樣,但是輸出主要關(guān)注使用到的最大空間和最小空間。

-gcold

老生代垃圾收集情況。

-gcoldcapacity

和gcold功能一樣,但是輸出主要關(guān)注使用到的最大空間和最小空間。

-gcpremcapacity

輸出永久代使用到的最大空間和最小空間。

-compiler

即時編譯器編譯過的方法、耗時等信息。

-printcompilation

已經(jīng)被即時編譯過的方法。

雖然jvm調(diào)優(yōu)已經(jīng)是JMC、VisualVM等可是化工具的天下,但在實際生產(chǎn)環(huán)境中,jstat命令依然占有一席之地。

JVM調(diào)優(yōu)工具介紹(1)的評論 (共 條)

分享到微博請遵守國家法律
保山市| 长沙市| 溧阳市| 沁源县| 建宁县| 景泰县| 盐边县| 千阳县| 藁城市| 屯昌县| 柯坪县| 内乡县| 河北区| 广宗县| 瓮安县| 荔浦县| 翁源县| 凭祥市| 闽清县| 贵定县| 多伦县| 德惠市| 高陵县| 宜宾县| 光山县| 华安县| 额尔古纳市| 屯昌县| 旬邑县| 常宁市| 泗阳县| 阳江市| 珲春市| 渭源县| 丰城市| 福海县| 青河县| 灵台县| 安丘市| 芮城县| 蕉岭县|