1. 設置堆空間大小
設置堆的初始大小和最大大小,為了防止垃圾收集器在初始大小、最大大小之間收縮堆而產生額外的時間,通常把最大、初始大小設置為相同的值
。
堆空間設置多少合適?
最大大小的默認值是物理內存的1/4,初始大小是物理內存的1/64
堆太小,可能會頻繁的導致年輕代和老年代的垃圾回收,會產生stw,暫停用戶線程
堆內存大肯定是好的,存在風險,假如發(fā)生了fullgc,它會掃描整個堆空間,暫停用戶線程的時間長
設置參考推薦:盡量大,也要考察一下當前計算機其他程序的內存使用情況
2. 虛擬機棧的設置
虛擬機棧的設置:每個線程默認會開啟1M的內存
,用于存放棧幀、調用參數、局部變量等,但一般256K就夠用
。通常減少每個線程的堆棧,可以產生更多的線程,但這實際上還受限于操作系統(tǒng)。
3. 年輕代中Eden區(qū)和兩個Survivor區(qū)的大小比例
設置年輕代中Eden區(qū)和兩個Survivor區(qū)的大小比例。該值如果不設置,則默認比例為8:1:1
。通過增大Eden區(qū)的大小,來減少YGC發(fā)生的次數
,但有時我們發(fā)現,雖然次數減少了,但Eden區(qū)滿的時候,由于占用的空間較大,導致釋放緩慢,此時STW的時間較長,因此需要按照程序情況去調優(yōu)。
4. 年輕代晉升老年代閾值
文章來源:http://www.zghlxwxcb.cn/news/detail-658325.html
5. 設置垃圾回收收集器
文章來源地址http://www.zghlxwxcb.cn/news/detail-658325.html
到了這里,關于【JVM】JVM 調優(yōu)的參數都有哪些?的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!