一文讀懂從 GC 日志分析堆內(nèi)存

      網(wǎng)友投稿 964 2025-04-01

      一、前言

      在前期博文中,我們只設(shè)置了整個堆的內(nèi)存大小。但是我們知道,堆又分為了新生代,年老代。他們之間的內(nèi)存怎么分配呢?新生代又分為Eden和Survivor,他們的比例大小能改變嗎?其實這些都是可控的,以前沒有講到是因為就算講了也只是講講而已,看不到實質(zhì)性的東西。因此,這篇博文我們通過分析GC日志來一步步講解如何細(xì)化設(shè)置堆內(nèi)存。

      首先我們來了解幾個相關(guān)的參數(shù):

      -XX:+PrintGCDetails:用于告訴虛擬機回收垃圾的時候順便打印日志;

      -Xloggc:路徑 :將打印出來的日志信息保存至指定的路徑;

      -Xmn10M:設(shè)置新生代的內(nèi)存大小;

      一文讀懂從 GC 日志分析堆內(nèi)存

      -XX:SurvivorRatio=8:1:調(diào)整Eden和Survivor的比例為8:1;

      二、示例講解

      我們還是用前面的代碼例子來講:

      public class Test { private static List list = new ArrayList(); public static void main(String[] args){ while (true) { Test test = new Test(); list.add(test); } } }

      然后用參數(shù)-Xms20m -Xmx20m -Xmn10

      -XX:+PrintGCDetails -Xloggc:d:\gc1.log啟動。表示給堆分配20M,給新生代分配10M,并打印GC日志,并將其輸出至D盤的gc1.log文件中。運行后得到以下日志,這是第一部分:

      現(xiàn)在我們來分析下每個部分代表的含義:

      0.090:就是虛擬機從啟動到現(xiàn)在經(jīng)歷的時間(單位:s)。

      GC:指的是停頓類型(留著下一章講)

      PSYoungGen:發(fā)生GC的區(qū)域,這里指的是年輕代。根據(jù)收集器的種類而定。

      7284K->1016K(9216K):該區(qū)域GC前當(dāng)前區(qū)域所使用的容量–>該區(qū)域GC后已使用的容量(該區(qū)域的總?cè)萘浚簿褪切律娜萘俊?/p>

      7284K->6139K(19456K):整個堆GC前當(dāng)前區(qū)域所使用的容量–>整個堆GC后已使用的容量(整個堆的總?cè)萘浚?/p>

      0.0078481:這次GC所占用的時間(單位:s)。

      我們再來看看第二部分:

      看圖畫紅線部分,表示當(dāng)前的堆中新生代可用內(nèi)存的大小(一個eden和一個Survivor視為可用內(nèi)存),紅色框下面則是年老區(qū)的大小,加上一共是20m,符合我們所設(shè)置的。

      紅色框中的部分則是新生代中eden區(qū)和兩個Survivor區(qū)的大小,可以看出他們的比例是8:1,如果設(shè)置為-XX:SurvivorRatio=3的話,結(jié)果如下

      到這里以上幾個參數(shù)的作用以及分析就講完啦,小伙伴們可以打開自己的工具試一試,感受一下。以后碰到了內(nèi)存泄漏或者內(nèi)存不足的話就可以直接查看日志來進(jìn)行分析調(diào)優(yōu)了!

      三、拓展閱讀

      《JVM虛擬機專欄》

      日志分析服務(wù) LOG 虛擬化

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:客服接待方案范文,客服接待技巧有哪些?
      下一篇:時間怎么求和超過24小時(excel超過24小時求和)
      相關(guān)文章
      亚洲真人无码永久在线观看| 亚洲毛片网址在线观看中文字幕| 国产成人亚洲精品播放器下载 | 亚洲天堂一区二区三区四区| 精品亚洲一区二区| 亚洲人成无码网WWW| 国产精品亚洲色图| 亚洲日韩在线中文字幕综合| 亚洲国产精品无码久久九九大片 | 亚洲另类激情综合偷自拍| 亚洲成AV人在线观看天堂无码| 亚洲人成网站在线播放vr| 亚洲午夜福利精品无码| 国产偷国产偷亚洲高清日韩| 亚洲人成无码久久电影网站| 亚洲综合精品网站| 亚洲中文字幕在线观看| 国产亚洲美女精品久久久久狼| 亚洲日本一区二区三区在线| 国产亚洲综合一区柠檬导航| 国产精品久久久亚洲| 国产亚洲AV手机在线观看| 伊人久久大香线蕉亚洲| 亚洲码国产精品高潮在线| 国产亚洲婷婷香蕉久久精品| 亚洲AV无码久久精品蜜桃| 亚洲第一福利网站| 亚洲精品成人久久| 亚洲三级视频在线| 亚洲色偷偷色噜噜狠狠99网| 亚洲AV无码AV男人的天堂不卡| 国产午夜亚洲精品不卡| 亚洲精品专区在线观看| 亚洲中文久久精品无码ww16| 亚洲αv久久久噜噜噜噜噜| 亚洲午夜久久久精品影院| 亚洲人成电影网站| 亚洲精品中文字幕| 亚洲国产精品专区在线观看| 亚洲深深色噜噜狠狠爱网站| 亚洲AV本道一区二区三区四区|