gc=full gc +young gc
從網站建設到定制行業解決方案,為提供成都做網站、成都網站建設服務體系,各種行業企業客戶提供網站建設解決方案,助力業務快速發展。創新互聯將不斷加快創新步伐,提供優質的建站服務。
Java jvm 內存=堆內存+非堆內存
堆內存(-Xms-Xmx)=年輕代(-Xmn)+年老代
-Xms,初始分配內存,-Xmx最大分配內存,一般情況下設置成一樣的值
年輕代=Eden+s0+s1
非堆內存=持久代(-XX:PermSize -XX:MaxPermSize)+code cache(-XX:reservedcodecachesize)
-XX:PermSize(初始值大小)、-XX:MaxPermSize(最大值)
【jvm內存模型圖】

gc:自動檢測和釋放不再使用的內存。(垃圾回收)
Minor gc:頻率快是正常 ,也叫young gc
Major gc:盡可能讓他頻率少【重點關注】 ,也叫full gc
持久代(Perm):使用的class對象
Jvm的生命周期:①一個對象,首先放置在Eden區,結果發現需繼續使用,不能進入gc回收,則會放置在s區,s0和s1隨意。②如果放在s0區,過一段時間仍不能gc回收,則會放置在s1區③再過一段時間仍不能回收,則會存放在年老代區域。④在年老代存放很長時間后,可能被major gc回收,也可能繼續存活
Jvm內存參數設置
-Xms-Xmx設置為一樣的值,設置為可用內存的80%
-Xmn設置為堆內存的3/8
-XX:PermSize(默認為物理內存的1/64)、-XX:MaxPermSize(默認為物理內存的1/4)
Jvm公共參數配置
-server:服務器模式,一定要放在所有參數之前
-Xss:指定每個線程占的大小(建議不要超過1M)
-XX:SurvivorRatio:設置年輕代里面Eden區和s區的大小比值
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=path_address:JVM崩潰的時候會打印出heap dump
-XX:+AggressiveOpts:啟用這個參數,則每當JDK版本升級時,你的JVM都會使用最新加入的優化技術(如果有的話)
-Djava.awt.headless=true:一般放在最后,主要是解決圖表不兼容
gc的類型
Serial GC:適用內存占用比較少的應用,性能最差
Parallel GC:年輕代多線程,年老代使用單線程
Parallel Old GC:年輕代和年老代都使用多線程收集垃圾
CMS:多線程并發回收垃圾,適用于不能忍受長時間停頓要求快速響應的應用,比較常用,最好和-XX:+UseParNewGC一同使用
-XX:+UseG1GC
gc相關參數
-XX: +DisableExplicitGC:禁止使用System.gc
-XX:+PrintGCTimeStamps -XX:+PrintGCDetails –Xloggc:<filename>打印gc回收的詳情日志
-XX:+UseGCOverheadLimit:讓程序提前結束,達到預警目的
-XX:+UseCMSCompactAtFullCollection:對存活對象進行整理,使內存碎片減少
網站欄目:GC垃圾回收
鏈接地址:http://www.yijiale78.com/article44/pjdohe.html
成都網站建設公司_創新互聯,為您提供移動網站建設、網站設計公司、關鍵詞優化、外貿建站、響應式網站、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯