成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

京東面試:如何進(jìn)行JVM調(diào)優(yōu)?

開發(fā) 前端
只有知道了為什么要進(jìn)行 JVM 調(diào)優(yōu)之后,你才能準(zhǔn)確的回答出來如何進(jìn)行 JVM 調(diào)優(yōu)?針對不同的 JVM 調(diào)優(yōu)的手段和側(cè)重點也是不同的。

JVM 調(diào)優(yōu)是一個很大的話題,在回答“如何進(jìn)行 JVM 調(diào)優(yōu)?”之前,首先我們要回答一個更為關(guān)鍵的問題,那就是,我們?yōu)槭裁匆M(jìn)行 JVM 調(diào)優(yōu)?

只有知道了為什么要進(jìn)行 JVM 調(diào)優(yōu)之后,你才能準(zhǔn)確的回答出來如何進(jìn)行 JVM 調(diào)優(yōu)?

要進(jìn)行 JVM 調(diào)優(yōu)無非就是以下兩種情況:

  • 目標(biāo)驅(qū)動型的 JVM 調(diào)優(yōu),如,我們是為了最短的停頓時間所以要進(jìn)行 JVM 調(diào)優(yōu),或者是我們?yōu)榱俗畲笸掏铝克砸M(jìn)行 JVM 調(diào)優(yōu)等。
  • 問題驅(qū)動型的 JVM 調(diào)優(yōu),因為生產(chǎn)環(huán)境出現(xiàn)了頻繁的 FullGC 了,導(dǎo)致程序執(zhí)行變慢,所以我們要進(jìn)行 JVM 調(diào)優(yōu)。

所以,針對不同的 JVM 調(diào)優(yōu)的手段和側(cè)重點也是不同的。

總的來說,JVM 進(jìn)行調(diào)優(yōu)的流程如下:

  • 確定 JVM 調(diào)優(yōu)原因
  • 分析 JVM(目前)運行情況
  • 設(shè)置 JVM 調(diào)優(yōu)參數(shù)
  • 壓測觀測調(diào)優(yōu)后的效果
  • 應(yīng)用調(diào)優(yōu)后的配置

具體來說它們的執(zhí)行如下。

1.確定JVM調(diào)優(yōu)原因

先確定是目標(biāo)驅(qū)動型的 JVM 調(diào)優(yōu),還是問題驅(qū)動型的 JVM 調(diào)優(yōu)。

如果是目標(biāo)性的 JVM 調(diào)優(yōu),那么 JVM 調(diào)優(yōu)實現(xiàn)思路就比較簡單了,如:

  • 以最短停頓時間為目標(biāo)的調(diào)優(yōu),只需要將垃圾收集器設(shè)置成以最短停頓時間的為目標(biāo)的垃圾收集器即可,如 CMS 收集器或 G1 收集器。
  • 以吞吐量為目標(biāo)的調(diào)優(yōu),只需要將垃圾收集器設(shè)置為 Parallel Scavenge 和 Parallel Old 這種以吞吐量為主要目標(biāo)的垃圾回收器即可。

如果是以問題驅(qū)動的 JVM 調(diào)優(yōu),那就要先分析問題是什么,然后再進(jìn)行下一步的調(diào)優(yōu)了。

2.分析JVM運行情況

我們可以借助于目前主流的監(jiān)控工具 Prometheus + Grafana 和 JDK 自帶的命令行工具,如 jps、jstat、jinfo、jstack 等進(jìn)行 JVM 運行情況的分析。

主要分析的點是 Young GC 和 Full GC 的頻率,以及垃圾回收的執(zhí)行時間。

3.設(shè)置JVM調(diào)優(yōu)參數(shù)

常見的 JVM 調(diào)優(yōu)參數(shù)有以下幾個:

  • 調(diào)整堆內(nèi)存大小:通過設(shè)置 -Xms(初始堆大小)和 -Xmx(最大堆大小)參數(shù)來調(diào)整堆內(nèi)存大小,避免頻繁的垃圾回收。
  • 選擇合適的垃圾回收器:根據(jù)應(yīng)用程序的性能需求和特點,選擇合適的垃圾回收器,如 Serial GC、Parallel GC、CMS GC、G1 GC 等。
  • 調(diào)整新生代和老年代比:通過設(shè)置 -XX:NewRatio 參數(shù)來調(diào)整新生代和老年代的比例,優(yōu)化內(nèi)存分配。
  • 設(shè)置合適的堆中的各個區(qū)域比例:通過設(shè)置 -XX:SurvivorRatio 參數(shù)和 -XX:MaxTenuringThreshold 參數(shù)來調(diào)整 Eden 區(qū)、Survivor 區(qū)和老年代的比例,避免過早晉升和過多頻繁的垃圾回收。
  • 設(shè)置對象從年輕代進(jìn)入老年代的年齡值:-XX:InitialTenuringThreshold=7 表示 7 次年輕代存活的對象就會進(jìn)入老年代。
  • 設(shè)置元空間大小:在 JDK 1.8 版本中,元空間的默認(rèn)大小會根據(jù)操作系統(tǒng)有所不同。具體來說,在 Windows 上,元空間的默認(rèn)大小為 21MB;而在 Linux 上,其默認(rèn)大小為 24MB。然而如果元空間不足也有可能觸發(fā) Full GC 從而導(dǎo)致程序執(zhí)行變慢,因此我們可以通過 -XX:MaxMetaspaceSize=設(shè)置元空間的最大容量。

4.壓測觀測調(diào)優(yōu)后的效果

JVM 參數(shù)調(diào)整之后,我們要通過壓力測試來觀察 JVM 參數(shù)調(diào)整前和調(diào)整后的差別,以確認(rèn)調(diào)整后的效果。

5.應(yīng)用調(diào)優(yōu)后的配置

在確認(rèn)了 JVM 參數(shù)調(diào)整后的效果滿足需求之后,就可以將 JVM 的參數(shù)配置應(yīng)用與生產(chǎn)環(huán)境了。

責(zé)任編輯:姜華 來源: Java中文社群
相關(guān)推薦

2023-10-04 19:43:38

2023-04-24 14:54:09

JVM性能調(diào)優(yōu)

2012-03-26 10:55:03

JavaJava EE

2012-01-10 14:35:08

JavaJVM

2021-12-06 11:03:57

JVM性能調(diào)優(yōu)

2017-07-21 08:55:13

TomcatJVM容器

2023-11-11 19:07:23

JVMJava

2024-05-24 10:36:27

2010-09-26 13:39:46

JVM調(diào)優(yōu)

2010-09-26 09:08:17

JVM調(diào)優(yōu)

2012-01-10 15:13:56

JavaJVM

2019-02-19 10:25:28

JVM性能工具

2023-12-04 10:36:46

SessionCookie

2021-06-03 08:32:18

JVM調(diào)優(yōu)虛擬機(jī)

2017-10-17 14:02:30

jvm調(diào)優(yōu)工具

2017-09-22 15:15:23

jvm調(diào)優(yōu)命令

2010-09-27 10:54:53

JVM參數(shù)配置

2021-11-21 23:03:38

jvm調(diào)優(yōu)虛擬機(jī)

2024-12-04 15:49:29

2010-09-27 09:23:42

JVM調(diào)優(yōu)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲欧美激情网 | 国产三区视频在线观看 | 中文字幕在线视频免费观看 | 亚洲精品二区 | 人人干天天干 | 国产精品一区二区无线 | 日韩在线播放av | 国产欧美一级二级三级在线视频 | 99热播放| 国产日韩一区二区三免费高清 | 国产精品精品视频一区二区三区 | 欧美一级片在线 | 亚洲午夜在线 | 欧美福利一区 | 日本小电影在线 | 观看毛片 | www.婷婷| 一本大道久久a久久精二百 欧洲一区二区三区 | 九九热在线视频观看这里只有精品 | www,黄色,com | 欧美性一区二区三区 | 看a网站 | 综合色婷婷 | 在线观看免费福利 | 日韩国产精品一区二区三区 | 亚洲综合久久久 | 午夜精品一区 | 91色网站 | 国产精品久久 | 日批的视频 | 一级二级三级黄色 | 亚洲国产精品久久久久 | 精品成人一区二区 | 黄色毛片免费视频 | 国产精品高潮呻吟久久久久 | 色综合99| www.久久久久久久久久久 | 午夜一区二区三区在线观看 | 日本啊v在线 | 三级视频在线观看 | 一级片在线观看 |