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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JVM学习笔记二:JVM参数

發布時間:2023/12/18 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JVM学习笔记二:JVM参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

所有線程共享的內存主要有兩塊:堆內存和方法區。

其中堆內存分為兩塊:新生代Young generation(Eden區、From Survivor區、To Survivor區)、老年代Tenured generation。

方法區有人也稱之“永久代”,但是它們并不等同。方法區是JVM的規范,而永久代是該規范的一種實現方式。從jdk1.7開始已經逐步去除“永久代”,在JDK8中取而代之的是“元空間”(Metaspace)。

元空間與永久代之間最大的區別在于:元空間并不在虛擬機中,而是使用本地內存。因此,默認情況下,元空間的大小僅受本地內存限制

下面是JVM的一些主要參數:

1. 基本參數

參數描述
-XX:+打開
-XX:-關閉

2. 內存大小配置參數

參數描述
-Xms初始堆內存大小
-Xmx最大堆內存大小
-Xmn年輕代內存大小
-Xss線程私有的虛擬機棧大小
-XX:MaxPermSize=64m永久代最大值
-XX:PermSize永久代初始值
-XX:MetaspaceSize元空間初始大小
-XX:MaxMetaspaceSize元空間最大值
-XX:MaxDirectMemorySize直接內存大小,默認與Java堆最大值(-Xmx)一樣

3. JVM調試參數

參數描述
-verbose:gc記錄GC運行及運行時間
-XX:+PrintGCDetails記錄GC運行時的詳細數據信息,以及在進程結束時打印當前的內存各區域分配情況。
-XX:+PrintGCTimeStamps打印垃圾收集時間戳
-Xloggc:{gcLogPath}gc日志存放路徑
-XX:+HeapDumpOnOutOfMemoryError在內存溢出的時候生成Heap dump文件
-verbose:class、-XX:+TraceClassLoading查看類加載信息(要求Product版虛擬機)
-XX:+TraceClassUnLoading查看類卸載信息(要求FastDebug版虛擬機)
-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000用于遠程調試

4. 垃圾收集器

參數描述
-XX:+UseSerialG使用Serial+Serial Old的收集器組合進行內存回收。
-XX:+UseParNewGC使用ParNew+Serial Old的收集器組合進行內存回收。
-XX:+UseConcMarkSweepGC使用ParNew+CMS+Serial Old的收集器組合進行內存回收。Serial Old作為出現Concurrent Mode Failure失敗后的后備收集器使用。
-XX:+UseParallelGC使用Parallel Scavenge+Serial Old(PS Mark Sweep)收集器組合進行內存回收。
-XX:+UseParallelOldGC使用Parallel Scavenge+Parallel Old收集器組合進行內存回收。

5. JVM調優參數

參數描述
-XX:SurvivorRatio新生代中Eden區域和Survivor區域(單個Survivor)的容量比值,默認為8
-XX:NewRatio堆內存中老生代和年輕代的容量比值。例:NewRatio=2,表明old:new=2:1
-XX:PretenureSizeThreshold直接晉升到老年代的對象大小,大于該值的對象直接在老年代分配。
-XX:MaxTenuringThreshold對象在新生代中能存活的最大年齡。
-XX:+UseAdaptiveSizePolicy動態調整Java堆中各個區域的大小以及進入老年代的年齡(限Parallel Scaverge收集器)
-XX:+HandlePromotionFailure允許老年代分配擔保失敗,開啟后可以冒險YGC。
-XX:ParallelGCThreads設置并行GC時進行內存回收的線程數
-XX:GCTimeRatio默認為99,即允許1%的GC時間。GC時間占總時間的比例由公式1/(1+GCTimeRatio)得出(限Parallel Scaverge收集器)
-XX:MaxGCPauseMillis設置GC的最大停頓時間(限Parallel Scaverge收集器)
-XX:+CMSInitialingOccupancyFraction設置CMS收集器在老年代空間被使用多少后觸發Full GC。默認值是68,即68%。(限CMS收集器)
-XX:+UseCMSCompactionAtFullCollection設置CMS在完成垃圾收集后進行一次內存碎片整理。(限CMS收集器)
-XX:+CMSFullGCsBeforeCompaction設置CMS執行多少次GC后,下次GC時進行一次內存碎片整理,默認為0。即每次都整理。
-Xnoclassgc不回收無用類

轉載于:https://www.cnblogs.com/znicy/p/6882424.html

總結

以上是生活随笔為你收集整理的JVM学习笔记二:JVM参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。