亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jvm監控工具jps,jstat,jstack,jmap的使用方法

發布時間:2020-07-03 10:59:27 來源:網絡 閱讀:6890 作者:weilovepan520 欄目:網絡安全

在平常運維分析jvm的時候通常用到的工具的jps,jstat,jstack,jmap用于分析tomcat遇到的各種問題

tomcat常見的問題有:

? OOM,線程死鎖(lock dead),鎖爭用(lock contention),Java消耗過多的CPU

? 可以通過以上工具進行分析

生產常用分析方法快速入口:

? #jps????????--> 查看運行的java進程

? #jstat -gc 進程pid --> 查看進程新生代老年代的內存使用情況,年輕代老年代垃圾收集次數及時間

? #jstat -gccause 進程pid --> 查看進程垃圾收集原因

? #jmap -heap 進程pid --> 查看進程堆內存具體使用情況

? #jstack -l 進程pid --> 查看線程信息,用于分析線程爭取,死鎖造成tomcat假死的情況

jps:java虛擬機進程查看工具

? jps [options] [hostid]

?? -m:輸出傳入main方法的參數

?? -l:顯示main的完整類名

?? -v:顯示為jvm虛擬機指定的參數

? 常用的組合:

?? #jps -m -l

?? #jps -m -l -v??

[gcct1@localhost?bin]$?jps?-m?-l?-v
5966?org.apache.catalina.startup.Bootstrap?start?-Djava.util.logging.config.file=/mnt/tomcat/conf/logging.properties?-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager?-Djava.endorsed.dirs=/mnt/tomcat/endorsed?-Dcatalina.base=/mnt/tomcat?-Dcatalina.home=/mnt/tomcat?-Djava.io.tmpdir=/mnt/tomcat/temp
7006?sun.tools.jps.Jps?-m?-l?-v?-Denv.class.path=.:/usr/java/jdk1.7.0_79/lib/dt.jar:/usr/java/jdk1.7.0_79/lib/tools.jar?-Dapplication.home=/usr/java/jdk1.7.0_79?-Xms8m

jstat:jvm虛擬機運行時內存使用及垃圾回收情況監控

? jstat -<option> pid:(<options>為必須選項)

?? -options:查看有哪些選項可以使用

?? -gc:使用此選項時,后面加java的進程號;例jstat -gc 27564 [1s](也可跟上多少時間顯示一次)

???? S0C,S1C:表示第一個和第二個生存區的容量
???? S0U,S1U:表示第一個和第二個生存區的已使用的容量
???? EC,EU:表示eden區域的容量和已用量
???? OC,OU:表示老年代區的容量和已用量
???? PC,PU:表示持久代的內存容量和已用量
???? YGC,YGT:表示新生代的GC發生的次數和耗時
???? FGCT,FGCT:表示老年代Full GC發生的次數和耗時
???? GCT:表示總的GC耗時

?? -gccause:
??? LGCC:上次GC的原因
??? GCC:當前GC的原因

[gcct1@localhost?bin]$?jstat?-gc?5966
?S0C????S1C????S0U????S1U??????EC???????EU????????OC?????????OU???????PC?????PU????YGC?????YGCT????FGC????FGCT?????GCT???
40960.0?36864.0??0.0???36850.3?253952.0?161159.5??109056.0???74574.4???53248.0?45852.6?????19????1.672???3??????2.193????3.865
[gcct1@localhost?bin]$?jstat?-gccause?5966
??S0?????S1?????E??????O??????P?????YGC?????YGCT????FGC????FGCT?????GCT????LGCC?????????????????GCC?????????????????
??0.00??99.96??63.76??68.38??86.11?????19????1.672?????3????2.193????3.865?Allocation?Failure???No?GC

jmap:查看堆內存使用情況,包括使用的GC算法,堆配置參數和各代堆內存使用情況,跟jstat有點類似

? -heap:詳細的輸出堆內存的使用情況
? -histo:顯示所有的對象信息
? -histo:live:手動觸發full GC,然后顯示存活的對象信息(常用于老年代調優)
? -h:獲取幫助信息
?? 例:jmap -heap 5966 ? --> 查看堆內存的詳細使用情況

[gcct1@localhost?bin]$?jmap?-heap?5966
Attaching?to?process?ID?5966,?please?wait...
Debugger?attached?successfully.
Server?compiler?detected.
JVM?version?is?24.79-b02

using?thread-local?object?allocation.
Parallel?GC?with?2?thread(s)

Heap?Configuration:
???MinHeapFreeRatio?=?0
???MaxHeapFreeRatio?=?100
???MaxHeapSize??????=?1019215872?(972.0MB)
???NewSize??????????=?1310720?(1.25MB)
???MaxNewSize???????=?17592186044415?MB
???OldSize??????????=?5439488?(5.1875MB)
???NewRatio?????????=?2
???SurvivorRatio????=?8
???PermSize?????????=?21757952?(20.75MB)
???MaxPermSize??????=?85983232?(82.0MB)
???G1HeapRegionSize?=?0?(0.0MB)
......

jstack:查看某個java進程內的線程堆棧信息

? jstack [options] pid
? -l:long listings(會輸出完整的鎖信息);jstack -l 進程號
? -m:混合模式,即會輸出java堆棧及C/C++堆棧信息

? 通過jstack可以查看線程爭用,線程死鎖等信息

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吉林省| 乡城县| 武鸣县| 濮阳县| 漳州市| 博客| 法库县| 融水| 渭南市| 木里| 新密市| 池州市| 神农架林区| 常熟市| 崇文区| 会同县| 峨山| 进贤县| 金塔县| 宁强县| 凉城县| 兴国县| 澜沧| 象州县| 名山县| 调兵山市| 老河口市| 砚山县| 通江县| 喜德县| 东安县| 龙川县| 江西省| 安泽县| 永济市| 尼玛县| 鱼台县| 台安县| 合江县| 惠安县| 宽甸|