gc編譯日誌
Ⅰ gc工作日誌怎麼導入
gc工作日誌導入方法如下:
1、雙擊GC的應用程序文件,打開GC軟體。
2、點擊窗口的最大化按扭,使編輯窗口最大化。
3、點選FILE-IMPORT(文件-導入)進入導入設置界面。
4、通過查找范圍的下拉列表中找到需要打開的工作日誌文件夾。
5、點擊導入即可。
Ⅱ JVM性能調優(2) —— 內存設置和查看GC日誌
1)JVM內存分配有如下一些參數:
一般 -Xms 和 -Xmx 設置一樣的大小,-XX:MetaspaceSize 和 -XX:MaxMetaspaceSize 設置一樣的大小。-Xms 等價於 -XX:InitialHeapSize,-Xmx等價於-XX:MaxHeapSize;-Xmn等價於-XX:MaxNewSize。
2)在IDEA中可以按照如下方式設置JVM參數:
3)命令行啟動時可以按照如下格式設置:
1)設置GC參數:
可以在啟動時加上如下參數來查看GC日誌:
例如,我在IDEA中添加了如下JVM啟動參數:
啟動程序之後列印出了如下的一些日誌:
從第三行 CommandLine flags 可以得到如下的信息:
2)查看默認參數:
如果要查看JVM的默認參數,就可以通過給JVM加列印GC日誌的參數,就可以在GC日誌中看到JVM的默認參數了。
還可以在啟動參數中添加 -XX:+PrintFlagsFinal 參數,將會列印系統的所有參數,就可以看到自己配置的參數或系統的默認參數了:
3)GC日誌:
之後的日誌就是每次垃圾回收時產生的日誌,每行日誌說明了這次GC的執行情況,例如第四行GC日誌:
詳細內容如下:
2020-09-25T13:00:41.631+0800:GC發生的時間點。
4.013:系統運行多久之後發生的GC,單位秒,這里就是系統運行 4.013 秒後發生了一次GC。
GC (Allocation Failure):說明了觸發GC的原因,這里是指對象分配失敗導致的GC。
PSYoungGen:指觸發的是年輕代的垃圾回收,使用的是 Parallel Scavenge 垃圾回收器。
419840K->20541K:對年輕代執行了一次GC,GC之前年輕代使用了 419840K,GC之後有 20541K 的對象活下來了。
(472064K):年輕代可用空間是 472064K,即 461 M,為什麼是461M呢?因為新生代大小為 512M,Eden 區占 409.6M,兩塊 Survivor 區各占 51.2M,所以年輕代的可用空間為 Eden+1個Survivor的大小,即460.8M,約為461M。
419840K->20573K:GC前整個堆內存使用了 419840K,GC之後堆內存使用了 20573K。
(996352K):整個堆的大小是 996352K,即 973M,其實就是年輕代的 461M + 老年代的 512 M
0.0118345 secs:本次GC耗費的時間
Times: user=0.00 sys=0.00, real=0.01 secs:本次GC耗費的時間
4)JVM退出時的GC情況:
程序結束運行後,還會列印一些日誌,就是第12行之後的日誌,這部分展示的是當前堆內存的使用情況:
詳細內容如下: