国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JVM——JVM參數(shù)指南

這篇具有很好參考價值的文章主要介紹了JVM——JVM參數(shù)指南。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.概述

在本篇文章中,你將掌握最常用的 JVM 參數(shù)配置。如果對于下面提到了一些概念比如堆、

2.堆內(nèi)存相關

Java 虛擬機所管理的內(nèi)存中最大的一塊,Java 堆是所有線程共享的一塊內(nèi)存區(qū)域,在虛擬機啟動時創(chuàng)建。此內(nèi)存區(qū)域的唯一目的就是存放對象實例,幾乎所有的對象實例以及數(shù)組都在這里分配內(nèi)存。

2.1.顯式指定堆內(nèi)存–Xms和-Xmx

與性能有關的最常見實踐之一是根據(jù)應用程序要求初始化堆內(nèi)存。如果我們需要指定最小和最大堆大?。ㄍ扑]顯示指定大小),以下參數(shù)可以幫助你實現(xiàn):

-Xms<heap size>[unit] 
-Xmx<heap size>[unit]
  • heap size 表示要初始化內(nèi)存的具體大小。
  • unit 表示要初始化內(nèi)存的單位。單位為***“ g”*** (GB) 、“ m”(MB)、“ k”(KB)。

舉個栗子??,如果我們要為JVM分配最小2 GB和最大5 GB的堆內(nèi)存大小,我們的參數(shù)應該這樣來寫:

-Xms2G -Xmx5G

2.2.顯式新生代內(nèi)存(Young Ceneration)

根據(jù)Oracle官方文檔,在堆總可用內(nèi)存配置完成之后,第二大影響因素是為 Young Generation 在堆內(nèi)存所占的比例。默認情況下,YG 的最小大小為 1310 MB,最大大小為無限制。

一共有兩種指定 新生代內(nèi)存(Young Ceneration)大小的方法:

1.通過-XX:NewSize-XX:MaxNewSize指定

-XX:NewSize=<young size>[unit] 
-XX:MaxNewSize=<young size>[unit]

舉個栗子??,如果我們要為 新生代分配 最小256m 的內(nèi)存,最大 1024m的內(nèi)存我們的參數(shù)應該這樣來寫:

-XX:NewSize=256m
-XX:MaxNewSize=1024m

2.通過-Xmn<young size>[unit] 指定

舉個栗子??,如果我們要為 新生代分配256m的內(nèi)存(NewSize與MaxNewSize設為一致),我們的參數(shù)應該這樣來寫:

-Xmn256m 

GC 調(diào)優(yōu)策略中很重要的一條經(jīng)驗總結是這樣說的:

將新對象預留在新生代,由于 Full GC 的成本遠高于 Minor GC,因此盡可能將對象分配在新生代是明智的做法,實際項目中根據(jù) GC 日志分析新生代空間大小分配是否合理,適當通過“-Xmn”命令調(diào)節(jié)新生代大小,最大限度降低新對象直接進入老年代的情況。

另外,你還可以通過**-XX:NewRatio=<int>**來設置新生代和老年代內(nèi)存的比值。

比如下面的參數(shù)就是設置新生代(包括Eden和兩個Survivor區(qū))與老年代的比值為1。也就是說:新生代與老年代所占比值為1:1,新生代占整個堆棧的 1/2。

-XX:NewRatio=1

2.3.顯示指定永久代/元空間的大小

從Java 8開始,如果我們沒有指定 Metaspace 的大小,隨著更多類的創(chuàng)建,虛擬機會耗盡所有可用的系統(tǒng)內(nèi)存(永久代并不會出現(xiàn)這種情況)。

JDK 1.8 之前永久代還沒被徹底移除的時候通常通過下面這些參數(shù)來調(diào)節(jié)方法區(qū)大小

-XX:PermSize=N //方法區(qū) (永久代) 初始大小
-XX:MaxPermSize=N //方法區(qū) (永久代) 最大大小,超過這個值將會拋出 OutOfMemoryError 異常:java.lang.OutOfMemoryError: PermGen

相對而言,垃圾收集行為在這個區(qū)域是比較少出現(xiàn)的,但并非數(shù)據(jù)進入方法區(qū)后就“永久存在”了。

JDK 1.8 的時候,方法區(qū)(HotSpot 的永久代)被徹底移除了(JDK1.7 就已經(jīng)開始了),取而代之是元空間,元空間使用的是直接內(nèi)存。

下面是一些常用參數(shù):

-XX:MetaspaceSize=N //設置 Metaspace 的初始(和最小大?。?/span>
-XX:MaxMetaspaceSize=N //設置 Metaspace 的最大大小,如果不指定大小的話,隨著更多類的創(chuàng)建,虛擬機會耗盡所有可用的系統(tǒng)內(nèi)存。

3.垃圾收集相關

3.1.垃圾回收器

為了提高應用程序的穩(wěn)定性,選擇正確的垃圾收集算法至關重要。

JVM具有四種類型的GC實現(xiàn):

  • 串行垃圾收集器
  • 并行垃圾收集器
  • CMS垃圾收集器
  • G1垃圾收集器

可以使用以下參數(shù)聲明這些實現(xiàn):

-XX:+UseSerialGC
-XX:+UseParallelGC
-XX:+USeParNewGC
-XX:+UseG1GC

有關垃圾回收實施的更多詳細信息,請參見此處。

3.2.GC記錄

為了嚴格監(jiān)控應用程序的運行狀況,我們應該始終檢查JVM的垃圾回收性能。最簡單的方法是以人類可讀的格式記錄GC活動。

使用以下參數(shù),我們可以記錄GC活動:文章來源地址http://www.zghlxwxcb.cn/news/detail-655519.html

-XX:+UseGCLogFileRotation 
-XX:NumberOfGCLogFiles=< number of log files > 
-XX:GCLogFileSize=< file size >[ unit ]
-Xloggc:/path/to/gc.log

到了這里,關于JVM——JVM參數(shù)指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Java技術整理(1)—— JVM篇

    1、什么是JVM? JVM是一個可運行Java代碼的虛擬計算機,包括一套字節(jié)碼指令集,一組寄存器,一個棧,一個垃圾回收,堆和一個存儲方式棧。JVM 是運行在操作系統(tǒng)之上,并不與操作系統(tǒng)直接交互。 2、運行過程: 我們都知道Java源文件,通過編譯器,能夠產(chǎn)生相應的.class文件

    2024年02月14日
    瀏覽(17)
  • java八股文面試[JVM]——JVM參數(shù)

    java八股文面試[JVM]——JVM參數(shù)

    參考:JVM學習筆記(一)_卷心菜不卷Iris的博客-CSDN博客 jdk1.7: jdk1.8: 面試題 :給定-Xms Xmx -Xmn 問 最大的eden區(qū)域是多少M。 常用JVM參數(shù) 怎么對jvm進行調(diào)優(yōu)?通過 參數(shù)配置 參數(shù) 備注 -Xms 初始堆大小。只要啟動,就占用的堆大小,默認是內(nèi)存的1/64 -Xmx 最大堆大小。默認是內(nèi)存

    2024年02月11日
    瀏覽(30)
  • 【Java】JDK8 jvm參數(shù)配置及說明

    -Xms 或 -XX:InitialHeapSize=n 設置堆的初始值 指令1:-Xms2g 指令2:-XX:InitialHeapSize=2048m -Xmx 或 -XX:MaxHeapSize=n 設置堆區(qū)最大值 指令1: -Xmx2g 指令2: -XX:MaxHeapSize=2048m -XX:NewSize=n 設置年輕代大小 -Xss 或 -XX:ThreadStackSize=n 每個線程堆棧最大值 指令1:-Xss256k 指令2:-XX:ThreadStackSize=256k 注意:

    2024年02月03日
    瀏覽(50)
  • JAVA HEAP SPACE解決方法和JVM參數(shù)設置

    JAVA HEAP SPACE解決方法和JVM參數(shù)設置 JAVA HEAP SPACE解決方法和JVM參數(shù)設置 原因分析 設置 異常分析 Java堆的管理—垃圾回收提到一下幾點,很不錯,或許可以作為寫程序時候的準則: jvm 內(nèi)存查看與分析工具 在JVM中如果98%的時間是用于GC(Garbage Collection)且可用的 Heap size 不足2%的時

    2024年02月06日
    瀏覽(21)
  • Java線上故障排查(CPU、磁盤、內(nèi)存、網(wǎng)絡、GC)+JVM性能調(diào)優(yōu)監(jiān)控工具+JVM常用參數(shù)和命令

    Java線上故障排查(CPU、磁盤、內(nèi)存、網(wǎng)絡、GC)+JVM性能調(diào)優(yōu)監(jiān)控工具+JVM常用參數(shù)和命令

    根據(jù)服務部署和項目架構,從如下幾個方面排查: (1)運用服務器:排查內(nèi)存,cpu,請求數(shù)等; (2)文件圖片服務器:排查內(nèi)存,cpu,請求數(shù)等; (3)計時器服務器:排查內(nèi)存,cpu,請求數(shù)等; (4)redis服務器:排查內(nèi)存,cpu,連接數(shù)等; (5)db服務器:排查內(nèi)存,cpu,連接數(shù)

    2024年02月07日
    瀏覽(30)
  • JVM(Java虛擬機)-史上最全、最詳細JVM筆記

    JVM(Java虛擬機)-史上最全、最詳細JVM筆記

    一、JVM概述 1、1為什么要學習JVM 1、2虛擬機 1、3JVM作用 1、4JVM整體組成部分? 二、JVM結構--類加載器 2、1類加載子系統(tǒng) 2、2類加載過程 2、2、1加載 2、2、2鏈接 2、2、3初始化 2、3類加載器分類 2.3.1 引導類加載器(啟動類加載器 BootStrap ClassLoader) 2.3.2 擴展類加載器(Extension ClassL

    2024年02月03日
    瀏覽(28)
  • 在Maven中設置JVM系統(tǒng)參數(shù)及Java應用調(diào)試實例

    在進行Java應用程序開發(fā)時,我們通常需要配置Maven構建過程中Java虛擬機(JVM)的額外系統(tǒng)參數(shù),以便進行性能優(yōu)化、日志配置或遠程調(diào)試等操作。本文將詳細介紹如何在Maven中設置JVM系統(tǒng)參數(shù),并通過一個具體的Java應用遠程調(diào)試示例來演示這一過程。 Maven使用環(huán)境變量 MAVE

    2024年01月23日
    瀏覽(18)
  • TOMCAT部署及優(yōu)化(Tomcat配置文件參數(shù)優(yōu)化,Java虛擬機(JVM)調(diào)優(yōu))

    TOMCAT部署及優(yōu)化(Tomcat配置文件參數(shù)優(yōu)化,Java虛擬機(JVM)調(diào)優(yōu))

    TOMCAT tomcat :是一個開放源代碼的web應用服務器,基于java代碼開發(fā)的。也可以理解為tomacat就是處理動態(tài)請求和基于java代碼的頁面開發(fā)??梢栽趆tml當中寫入java代碼,tomcat可以解析html頁面當中的java,執(zhí)行動態(tài)請求,動態(tài)頁面。 tomcat是機制存在一些問題,如果不對tomcat進行優(yōu)化

    2024年02月13日
    瀏覽(23)
  • 【Java可執(zhí)行命令】(十七)JVM運行時信息動態(tài)維護工具 jinfo:一個維護 JVM 相關的配置參數(shù)和系統(tǒng)屬性的工具,輔助故障排除、診斷和優(yōu)化 ~

    【Java可執(zhí)行命令】(十七)JVM運行時信息動態(tài)維護工具 jinfo:一個維護 JVM 相關的配置參數(shù)和系統(tǒng)屬性的工具,輔助故障排除、診斷和優(yōu)化 ~

    jinfo 是 Java Development Kit (JDK) 自帶的一款命令行工具。它旨在為用戶提供進程的運行時信息,特別是與 Java 虛擬機 (JVM) 相關的配置和系統(tǒng)屬性。 jinfo 使得用戶可以輕松地查看和修改正在運行的 Java 進程的參數(shù),以便進行 故障排除、診斷和優(yōu)化 。 jinfo 允許用戶動態(tài)查詢和修改

    2024年02月13日
    瀏覽(32)
  • [Java SE] 徹底搞懂Java程序的三大參數(shù)配置途徑:系統(tǒng)變量與JVM參數(shù)(VM Option)/環(huán)境變量/啟動程序參數(shù)args

    [Java SE] 徹底搞懂Java程序的三大參數(shù)配置途徑:系統(tǒng)變量與JVM參數(shù)(VM Option)/環(huán)境變量/啟動程序參數(shù)args

    一次沒搞懂,處處受影響。這個問題屬于基礎問題,但又經(jīng)常踩坑,不得不重視一下了。 IDEA中的配置位置 參數(shù) 使用方式 示例 代碼獲取方式 系統(tǒng)屬性 由操作系統(tǒng)、JVM、應用程序主動設置 System.setProperties(Properties propes) / System.setProperties(String key,String value) / System.getProperties(

    2024年02月08日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包