新聞中心
常見參數(shù)配置
- -XX:+PrintGC 每次觸發(fā)GC的時候打印相關日志
- -XX:+UseSerialGC 串行回收
- -XX:+PrintGCDetails 更詳細的GC日志
- -Xms 堆初始值
- -Xmx 堆大可用值
- -Xmn 新生代堆大可用值
- -XX:SurvivorRatio 用來設置新生代中eden空間和from/to空間的比例.
- -XX:NewRatio 配置新生代與老年代占比 1:2
- -XX:SurvivorRatio 用來設置新生代中eden空間和from/to空間的比例
總結:在實際工作中,我們可以直接將初始的堆大小與大堆大小相等,這樣的好處是可以減少程序運行時垃圾回收次數(shù),從而提高效率

堆內(nèi)存大小配置
使用示例: -Xmx20m -Xms5m
當前堆大內(nèi)存 20M,堆初始化內(nèi)存 5M
設置新生代比例參數(shù)
使用示例:-Xms20m -Xmx20m -Xmn1m -XX:SurvivorRatio=2 -XX:+PrintGCDetails -XX:+UseSerialGC
當前堆大內(nèi)存 20M,初始化堆內(nèi)存 20M,新生代大可用內(nèi)存 1M,Eden 區(qū)域和 form、to 區(qū)域的比例是 2:1:1,打印 GC 日志,使用串行回收
設置新生代與老年代比例參數(shù)
使用實例:-Xms20m -Xmx20m -XX:SurvivorRatio=2 -XX:NewRatio=2 -XX:+PrintGCDetails -XX:+UseSerialGC
當前堆大內(nèi)存 20M,初始化堆內(nèi)存 20M,Eden 區(qū)域和 form、to 區(qū)域的比例是 2:1:1,新生代和老年代比例是 1:2,打印 GC 日志,使用串行回收
Java堆溢出
錯誤原因:java.lang.OutOfMemoryError: Java heap space 堆內(nèi)存溢出
設置合適的堆大?。?Xms1m -Xmx100m -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError
最后的參數(shù)表示堆內(nèi)存溢出出打印快照
虛擬機棧溢出
錯誤原因:java.lang.StackOverflowError 棧內(nèi)存溢出
虛擬機棧溢出發(fā)生在遞歸調用,循環(huán)不會產(chǎn)生虛擬機棧溢出,除非循環(huán)里面嵌套遞歸
設置更大的深度,默認深度大概在 10000 左右
-Xss5m 設置大調用深度
內(nèi)存溢出與內(nèi)存泄漏區(qū)別
內(nèi)存溢出:申請空間超出系統(tǒng)能夠提供的空間大小
內(nèi)存泄露:內(nèi)存泄露是指程序中間動態(tài)分配了內(nèi)存,但在程序結束時沒有釋放這部分內(nèi)存,從而造成那部分內(nèi)存不可用的情況,最終導致內(nèi)存溢出
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。
本文標題:JVM常用參數(shù)-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://www.dlmjj.cn/article/dghsgd.html


咨詢
建站咨詢
