JVM的經常使用配置參數

Trace跟蹤參數

-verbose:gc   打開gc的跟蹤方式函數

-XX:+PrintGC 能夠打印gc的簡要信息線程

-XX:+PrintGCDeteils  打印gc的詳細信息io

-XX:+PrintGCTimeStamps   打印GC發生的時間戳監控

-Xloggc:log/gc.log    指定gc  log位置,以文件輸出變量

-XX:+PrintHeadAtGC  在gc調用的先後打印堆的信息gc

-XX:+TraceClassLoading   監控類的加載  im

-XX:+PrintClassHistogram  在控制檯,按下ctrl+ break 全部的類的使用狀況時間戳

 

堆的分配參數

-xmx   指定最大堆總結

-xms   指定最小堆di

-Xmn  設置新生代大小

-XX:NewRatio 設置新生代和老年代(不包含永久區)的比例    4表示:新生代:  老年代 爲1:4  即新生代佔 1/5

-XX:SurvivorRatio  設置兩個Survivor區和eden的比       8表示  兩個Survivor :eden 爲2:8   即一個Survivor 佔1/10

-XX:+HeadDumpOnOutOfMemoryError       將OOM時  對信息導出至文件

-XX:HeadDumpPath     導出OOM的路徑

堆 總結


根據實際事情調整新生代和倖存代的大小
官方推薦新生代佔堆的3/8
倖存代佔新生代的1/10
在OOM時,記得Dump出堆,確保能夠排查現場問題

 

永久區的分配參數

-XX:PermSize 

-XX:MaxPermSize

 

棧的分配參數

-Xss

一般只有幾百K決定了函數調用的深度每一個線程都有獨立的棧空間局部變量、參數 分配在棧上

相關文章
相關標籤/搜索