Java堆由Perm區和Heap區組成,Heap區由Old區和New區(也叫Young區)組成,New區由Eden區、From區和To區(Survivor)組成。
創新互聯建站是專業的龍圩網站建設公司,龍圩接單;提供網站設計、網站建設,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行龍圩網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!Eden區用于存放新生成的對象。Eden中的對象生命不會超過一次Minor GC。Survivor Space 有兩個,存放每次垃圾回收后存活的對象,即圖的S0和S1。Old Generation Old區,也稱老生代,主要存放應用程序中生命周期長的存活對象
將EDEN與From survivor中的存活對象存入To survivor區時,To survivor區的空間不足,再次晉升到old gen區,而old gen區內存也不夠的情況下產生了promontion faild從而導致full gc.那可以推斷出:
eden+from survivor < old gen區剩余內存時,不會出現promontion faild的情況。
即:
(Xmx-Xmn)*(1-CMSInitiatingOccupancyFraction/100)>=(Xmn-Xmn/(SurvivorRatior+2))
進而推斷出:
CMSInitiatingOccupancyFraction <= ((Xmx-Xmn)-(Xmn-Xmn/(SurvivorRatior+2)))/(Xmx-Xmn)*100
參數 | 含義 |
---|---|
Xmx-Xmn | Old區大小 |
CMSInitiatingOccupancyFraction/100 | Old區百分之多少時,cms開始gc |
1-CMSInitiatingOccupancyFraction/100 | Old區開始gc回收時剩余空間百分比 |
(Xmx-Xmn)*(1-CMSInitiatingOccupancyFraction/100) | Old區開始gc回收時剩余空間大小 |
(Xmn-Xmn/(SurvivorRatior+2)) | eden+from survivor區的大小 |
參數 | 含義 |
---|---|
-Xmx | java heap大值。建議均設為物理內存的80%。不可超過物理內存 |
-Xmn | java heap最小值,一般設置為Xmx的3、4分之一,等同于-XX:NewSize 和 -XX:MaxNewSize ,其實為young區大小 |
-XX | CMSInitiatingOccupancyFraction=70 :使用cms作為垃圾回收使用70%后開始CMS收集 |
-XX | SurvivorRatio=2: 生還者池的大小,默認是2 |
創新互聯www.cdcxhl.cn,專業提供香港、美國云服務器,動態BGP最優骨干路由自動選擇,持續穩定高效的網絡助力業務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節活動現已開啟,新人活動云服務器買多久送多久。
分享標題:JVM快速調優手冊之四:堆內存分配的CMS公式解析-創新互聯
轉載來源:http://newbst.com/article16/hppdg.html
成都網站建設公司_創新互聯,為您提供企業建站、動態網站、網站排名、定制網站、手機網站建設、小程序開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯