The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

          不同的JVM及其選項(xiàng)會(huì)輸出不同的日志。

          GC 日志

          生成下面日志使用的選項(xiàng): -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:d:/GClogs/tomcat6-gc.log

          4.231: [GC 4.231: [DefNew: 4928K->512K(4928K), 0.0044047 secs] 6835K->3468K(15872K), 0.0045291 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
           
          4.445: [Full GC (System) 4.445: [Tenured: 2956K->3043K(10944K), 0.1869806 secs] 4034K->3043K(15872K), [Perm : 3400K->3400K(12288K)], 0.1870847 secs] [Times: user=0.05 sys=0.00, real=0.19 secs] 
          

          最前面的數(shù)字 4.231  4.445 代表虛擬機(jī)啟動(dòng)以來的秒數(shù)。

          [GC  [Full GC 是垃圾回收的停頓類型,而不是區(qū)分是新生代還是年老代,如果有 Full 說明發(fā)生了 Stop-The-World 。如果是調(diào)用 System.gc() 觸發(fā)的,那么將顯示的是 [Full GC (System) 

          接下來的 [DefNew, [Tenured, [Perm 表示 GC 發(fā)生的區(qū)域,區(qū)域的名稱與使用的 GC 收集器相關(guān)。 Serial 收集器中新生代名為 "Default New Generation",顯示的名字為 "[DefNew"。對(duì)于ParNew收集器,顯示的是 "[ParNew",表示 “Parallel New Generation”。 對(duì)于 Parallel Scavenge 收集器,新生代名為 "PSYoungGen"。年老代和永久代也相同,名稱都由收集器決定。

          方括號(hào)內(nèi)部顯示的 “4928K->512K(4928K)” 表示 “GC 前該區(qū)域已使用容量 -> GC 后該區(qū)域已使用容量 (該區(qū)域內(nèi)存總?cè)萘? ”。

          再往后的 “0.0044047 secs” 表示該區(qū)域GC所用時(shí)間,單位是秒。

          再往后的 “6835K->3468K(15872K)” 表示 “GC 前Java堆已使用容量 -> GC后Java堆已使用容量 (Java堆總?cè)萘浚?#8221;。

          再往后的 “0.0045291 secs” 是Java堆GC所用的總時(shí)間。

          最后的 “[Times: user=0.00 sys=0.00, real=0.00 secs]” 分別代表 用戶態(tài)消耗的CPU時(shí)間、內(nèi)核態(tài)消耗的CPU時(shí)間 和 操作從開始到結(jié)束所經(jīng)過的墻鐘時(shí)間。墻鐘時(shí)間包括各種非運(yùn)算的等待耗時(shí),如IO等待、線程阻塞。CPU時(shí)間不包括等待時(shí)間,當(dāng)系統(tǒng)有多核時(shí),多線程操作會(huì)疊加這些CPU時(shí)間,所以u(píng)ser或sys時(shí)間會(huì)超過real時(shí)間。

          堆的分代

          JVM-heap-generations

          在上圖中:

          • young區(qū)域就是新生代,存放新創(chuàng)建對(duì)象;
          • tenured是年老代,存放在新生代經(jīng)歷多次垃圾回收后仍存活的對(duì)象;
          • perm是永生代,存放類定義信息、元數(shù)據(jù)等信息。

          當(dāng)GC發(fā)生在新生代時(shí),稱為Minor GC,次收集;當(dāng)GC發(fā)生在年老代時(shí),稱為Major GC,主收集。 一般的,Minor GC的發(fā)生頻率要比Major GC高很多。

          posted on 2015-06-18 11:28 Eric_jiang 閱讀(264) 評(píng)論(0)  編輯  收藏 所屬分類: JVM

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 临城县| 高台县| 寿阳县| 抚宁县| 永济市| 云梦县| 青浦区| 张家口市| 屯昌县| 永昌县| 丽水市| 宾阳县| 普安县| 奇台县| 历史| 富平县| 伊宁县| 惠来县| 宁远县| 松江区| 宁武县| 吉木乃县| 西乡县| 文昌市| 邳州市| 新河县| 邹平县| 昌吉市| 虹口区| 秦安县| 永德县| 锦州市| 博客| 陈巴尔虎旗| 青阳县| 安阳县| 罗甸县| 华阴市| 会东县| 商南县| 黎平县|