日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

线上java问题排查

發(fā)布時(shí)間:2023/11/27 生活经验 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线上java问题排查 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

0.jps

這個(gè)輸出java進(jìn)程pid

#jps


查看java的線程

#top -Hp 25448


如圖25757這個(gè)線程比較耗時(shí),看看他在做什么


注意需要折算出線程pid的16進(jìn)制值,然后jstack。

可以打印更多信息

#jstack pid | grep -A 20 649d


參考:JVM調(diào)優(yōu)之jstack找出最耗cpu的線程并定位代碼

top+jstack分析cpu過高原因


1.jstack

#jstack -l pid > jstack.log

使用jstack命令輸出這一時(shí)刻的線程棧

jstack線程分析

jstack日志深入理解


2.jmap

#jmap -dump:format=b,file=heapDump 6900

#jmap -dump:live,format=b,file=dump.bin ?6900

-dump:[live,]format=b,file=<filename> 使用hprof二進(jìn)制形式,輸出jvm的heap內(nèi)容到文件=.?
live子選項(xiàng)是可選的,假如指定live選項(xiàng),那么只輸出活的對象到文件.?

Java命令學(xué)習(xí)系列(3):Jmap

jmap查看堆內(nèi)存大小

#jmap -heap ?pid

注意:jmap使用的時(shí)候jvm是處在停頓狀態(tài)的,只能在服務(wù)不可用的時(shí)候?yàn)榱私鉀Q問題來使用,否則會(huì)造成服務(wù)中斷。


使用jmap -histo[:live] pid查看堆內(nèi)存中的對象數(shù)目、大小統(tǒng)計(jì)直方圖,如果帶上live則只統(tǒng)計(jì)活對象,如下:
# jmap -histo:live pid | more



需要使用MAT工具分析jmap dump的內(nèi)存

使用jmap和MAT分析JVM堆內(nèi)存


3.jstat

jstat -gcutil pid

250毫秒一次采樣4次


可以看出:
堆內(nèi)存 = 年輕代 + 年老代 + 永久代
年輕代 = Eden區(qū) + 兩個(gè)Survivor區(qū)(From和To)

現(xiàn)在來解釋各列含義:
S0C、S1C、S0U、S1U:Survivor 0/1區(qū)容量(Capacity)和使用量(Used)
EC、EU:Eden區(qū)容量和使用量
OC、OU:年老代容量和使用量
PC、PU:永久代容量和使用量
YGC、YGT:年輕代GC次數(shù)和GC耗時(shí)
FGC、FGCT:Full GC次數(shù)和Full GC耗時(shí)
GCT:GC總耗時(shí)
E、hprof(Heap/CPU Profiling Tool)

4.gcore

#gdb -q --pid=1990

(gdb) generate-core-file
(gdb) detach
(gdb) quit
jmap -dump:format=b,file=heap.hprof /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java core.1990?

需要具體jdk對應(yīng)的bin/java

參考:

gcore 獲取程序core dump file 但程序不用退出,gdb 分析core

java程序性能分析之thread dump和heap dump


5.堆外內(nèi)存泄露分析

top出來java占用內(nèi)存極大而jmap出來的很小,說明有堆外內(nèi)存泄露。

參考Java堆外內(nèi)存泄露分析


綜合使用參考:?JVM性能調(diào)優(yōu)監(jiān)控工具jps、jstack、jmap、jhat、jstat、hprof使用詳解

JVM性能調(diào)優(yōu)監(jiān)控工具專題一:JVM自帶性能調(diào)優(yōu)工具(jps,jstack,jmap,jhat,jstat,hprof)

JVM性能調(diào)優(yōu)監(jiān)控工具專題二:VisualVM基本篇之監(jiān)控JVM內(nèi)存,CPU,線程

總結(jié)

以上是生活随笔為你收集整理的线上java问题排查的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。