1. 程式人生 > >JVM調優---常用JVM配置引數

JVM調優---常用JVM配置引數

一、Trace跟蹤引數(跟蹤GC、類、變數的記憶體變化情況) 開啟GC跟蹤日誌(每次執行GC的資訊都能列印,獲得執行時間,空間大小): -verbose:gc 或 -XX:+printGC 或 -XX:+printGCDetails 類載入監控:(監控類載入的順序) -XX:+TraceClassLoading
二、堆的分頻引數 -Xmx10M 指定最大堆,JVM最多能夠使用的堆空間 (超過該空間引發OOM) -Xms5M 指定最小堆,JVM至少會有的堆空間(儘可能維持在最小堆) -Xmn 11M(new) 設定新生代大小 總結: 1.根據實際情況調整新生代和倖存代的大小 2.官方推薦:新生代佔堆空間3/8
3.倖存代佔新生代1/10 4.OOM時,dump出堆到檔案,方便排查 三、棧的分配引數 -Xss 每個執行緒都有獨立的棧空間(幾百k,比較小) 需要大量執行緒時,需要儘可能減小棧空間 棧空間太小-----StackOverFlow棧溢位(一般遞迴時產生大量區域性變數導致)