JVM虛擬機系統性學習-JVM調優之GC日志分析

JVM 調優 首先,為什么要 JVM 調優呢? JVM 調優的目的就是為了讓應用程序使用最小的硬件消耗來承載更大的吞吐量 什么情況下需要 JVM 調優呢? 系統吞吐量下降,或系統延遲較高 出現

JVM 調優

首先,為什么要 JVM 調優呢?

JVM 調優的目的就是為了讓應用程序使用最小的硬件消耗來承載更大的吞吐量

JVM虛擬機系統性學習-JVM調優之GC日志分析_JVM

什么情況下需要 JVM 調優呢?

  1. 系統吞吐量下降,或系統延遲較高
  2. 出現 OOM
  3. Full GC 頻繁
  4. GC 停頓時間過長(超過 1s,已經影響用戶體驗)

調優主要調什么?

JVM 調優主要是兩方面:內存分配垃圾回收,大多數情況下是不需要進行 JVM 調優的,JVM 調優是不得已的手段,如果要對系統進行優化,則優先對系統架構和代碼進行優化!

  1. 合理的設置堆內存
  2. GC 高效回收占用內存的垃圾對象
  3. JVM虛擬機系統性學習-JVM調優之GC日志分析_JVM_02

JVM 調優步驟:

  1. 分析 GC 日志
  2. 判斷系統 GC 頻率、GC 耗時
  3. 調整參數

GC 日志分析

JVM 中常用參數設置:

-Xms 堆內存最小值
-Xmx 堆內存最大值
-Xmn 新生代內存的最大值
-Xss 每個線程的棧內存


首先通過設置 VM Options 來打開 GC 日志的打印,開啟 GC 日志參數設置如下:

# 開啟 GC 日志創建更詳細的 GC 日志
 -XX:+PrintGCDetails 
 # 開啟 GC 時間提示
-XX:+PrintGCTimeStamps,-XX:+PrintGCDateStamps
# 打印堆的GC日志
-XX:+PrintHeapAtGC 
# 指定GC日志路徑
-Xloggc:./logs/gc.log


Young GC 日志

2023-06-18T14:31:11.340+0800: 2.340: [GC (Allocation Failure) [PSYoungGen: 896512K->41519K(1045504K)]
896512K-41543K(3435008K), 0.0931965 secs] [Times: user=0.14 sys=0.02, real=0.10 secs]

# GC 日志參數解釋
2023-06-18T14:31:11.340+0800 # GC 開始的時間,+0800 代表中國所在的東區
2.340 # GC 事件開始時間相對于 JVM 開始啟動的間隔秒數
GC # 區分 Young GC 和 Full GC 的標志,GC 代表 Young GC
(Allocation Failure) # 觸發 GC 原因
PSYoungGen # 垃圾回收器的名稱
896512K->41519K # 垃圾收集前后新生代的內存使用量由 896512K 變為 41519K
(1045504K) # 新生代內存總大小
896512K-41543K # 垃圾收集前后,整個堆內存使用量由 896512K 變為 41543K
(3435008K) # 堆空間的總大小
0.0931965 secs # GC 持續時間
user=0.14 # GC 線程消耗 CPU 時間為 0.14
sys=0.02 # GC 過程中操作系統調用和系統等待事件所消耗的事件為 0.02
real=0.10 secs # 應用程序暫停的事件為 0.10



Full GC 日志

2021-05-19T14:46:07.367+0800: 1.562: [Full GC (Metadata GC Threshold)[PSYoungGen: 18640K-
>0K(1835008K)] [ParOldGen: 16K->18327K(1538048K)] 18656K->18327K(3373056K), [Metaspace: 20401K-
>20398K(1069056K)], 0.0624559 secs] [Times: user=0.19 sys=0.00, real=0.06 secs]

2021-05-19T14:46:07.367+0800 # GC 開始的時間,+0800 代表中國所在的東區
1.562 # GC 事件開始時間相對于 JVM 開始啟動的間隔秒數
Full GC # 區分 Young GC 和 Full GC 的標志
(Metadata GC Threshold) # 觸發 GC 原因
PSYoungGen # 垃圾回收器的名稱
18640K->0K(1835008K) # 垃圾收集前后新生代的內存使用量由 18640K 變為 0K,新生代內存總大小為 1835008K
ParOldGen # 老年代垃圾收集器名稱
16K->18327K(1538048K) # 垃圾收集前后老年代的內存使用量由 16K 變為 18327K,老年代內存總大小為 1538048K
18656K->18327K # 垃圾收集前后,整個堆內存使用量由 896512K 變為 41543K
(3373056K) # 堆總空間大小 
Metaspace # 元空間區域垃圾收集器是 Metaspace
20401K->20398K(1069056K) # 垃圾收集前后元空間的內存使用量由 20401K 變為 20398K,元空間總大小為 1069056K
0.0624559 secs # GC 持續時間
user=0.19 # GC 線程消耗 CPU 時間為 0.19
sys=0.00 # GC 過程中操作系統調用和系統等待事件所消耗的事件為 0.00
real=0.06 secs # 應用程序暫停的事件為 0.06


【感謝龍石為本站提供api網關 http://www.longshidata.com/pages/apigateway.html】
聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: www日本黄色| 多毛bgmbgmbgm胖在线| 国产成人h在线视频| 亚洲va欧美va| 青青操视频在线免费观看| 欧美日本免费一区二区三区| 国产麻豆剧传媒精在线播放| 国产伦一区二区三区免费| 亚洲精品乱码久久久久久蜜桃| loveme枫と铃樱花动漫| 都市激情综合网| 日本尤物精品视频在线看| 国产亚洲精品美女久久久| 亚洲成av人片在线看片| 2021年北京马三1死2重伤| 欧美午夜在线播放| 国产欧美日韩中文久久| 久久精品国产99国产精品澳门 | 日韩精品无码一区二区三区| 国产成人精品一区二区三区免费| 久久精品青青大伊人av| 里番库全彩本子彩色h可知子| 无码一区18禁3D| 免费视频中文字幕| a国产成人免费视频| 欧美黄成人免费网站大全| 国产精品欧美一区二区三区不卡| 亚洲va在线va天堂成人| 麻豆色哟哟网站| 无码免费一区二区三区免费播放| 十九岁日本电影免费完整版观看| a级片视频网站| 欧美成人在线影院| 国产成人无码av片在线观看不卡 | yy11111光电影院手机版| 激情吃奶吻胸免费视频xxxx| 国产精品无码2021在线观看| 亚洲精品无码高潮喷水在线| 你懂的中文字幕| 日本伊人精品一区二区三区 | 人人色在线视频播放|