使用JVM常用GC日志打印參數(shù)
JVM常用GC日志打印參數(shù)
1. PrintGC
最簡(jiǎn)單的GC參數(shù)。
啟用配置:-XX:+PrintGC
日志如下:
根據(jù)上面紅色方框內(nèi)的數(shù)字1、2、3、4、5說(shuō)明,1是GC類型,GC:minor GC(young gc),Full GC:major GC,2是GC前堆內(nèi)存使用量,3是GC后堆內(nèi)存使用量,4是堆內(nèi)存總量,5是本次GC耗時(shí)
2. PrintGCDetails
打印GC的詳細(xì)信息
啟用配置:-XX:+PrintGCDetails
日志如下:
不同的垃圾回收器,GC日志(表示年代的詞)可能會(huì)不一樣, 和第一節(jié)中差不多,->前的是GC前堆內(nèi)存使用量,->后面是GC后堆內(nèi)存使用量,括號(hào)內(nèi)是堆內(nèi)存總量。
對(duì)于這個(gè)日志,PSYoungGen:年輕代,ParOldGen:老年代,PSPermGen:持久代(方法區(qū))
Times: user表示用戶態(tài)CPU耗時(shí),sys表示系統(tǒng)CPU耗時(shí),real表示GC實(shí)際耗時(shí)
3. PrintGCTimeStamps
GC時(shí),打印進(jìn)程啟動(dòng)到現(xiàn)在經(jīng)歷的時(shí)間
啟用配置:-XX:+PrintGCTimeStamps
日志如下:
紅色方框內(nèi)的時(shí)間,表示進(jìn)程啟動(dòng)到現(xiàn)在經(jīng)歷的時(shí)間
該參數(shù)需要配合其它GC日志打印參數(shù)一起使用,如下
4. PrintGCApplicationStoppedTime
打印GC時(shí),應(yīng)用停頓時(shí)間
啟用配置:-XX:+PrintGCApplicationStoppedTime
日志如下:
5. PrintGCApplicationConcurrentTime
GC時(shí)打印應(yīng)用執(zhí)行時(shí)間
啟用配置:-XX:+PrintGCApplicationConcurrentTime
日志如下:
6. PrintHeapAtGC
每次GC前后打印堆信息
啟用配置:-XX:+PrintHeapAtGC
日志如下:
p.s. 上面幾個(gè)參數(shù)可同時(shí)配合使用,同時(shí)使用PrintGC和PrintGCDetails時(shí),打印的詳細(xì)信息。
GC日志信息默認(rèn)是打印到控制臺(tái),如果需要輸出到文件,可以使用參數(shù):-Xloggc:gc.log,gc.log是要輸出的日志文件,路徑為應(yīng)用啟動(dòng)路徑的相對(duì)路徑下,也可以使用絕對(duì)路徑。
JVM打印GC日志到文件
package gc; public class GcTest { private static final int _1MB= 1024 * 1024; public static void main(String[] args) { byte[] a1, a2, a3, a4; a1 = new byte[2 * _1MB]; a2 = new byte[2 * _1MB]; a3 = new byte[2 * _1MB]; a4 = new byte[2 * _1MB]; } }
打印GC日志
D:\study\workspace\jvm\src>java -Xms20M -Xmx20M -Xmn10M -XX:Survivor
Ratio=8 -XX:+PrintGCDetails -Xloggc:d:\gc.log gc.GcTest
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot實(shí)現(xiàn)異步調(diào)用@Async的示例
這篇文章主要介紹了springboot實(shí)現(xiàn)異步調(diào)用@Async的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12IntelliJ?IDEA?2022安裝注冊(cè)永久激活
java開(kāi)發(fā)工具IntelliJ?IDEA深受用戶喜愛(ài),很多朋友對(duì)這個(gè)idea開(kāi)發(fā)工具比較忠心,一旦有新版本發(fā)出,很多小伙伴就迫不及待的想更新,今天小編給大家?guī)?lái)了idea2022.1最新永久激活碼,親測(cè)有效,喜歡的朋友快來(lái)下載體驗(yàn)吧2022-08-08java新增關(guān)聯(lián)的三張表,每張表要求都插入集合,代碼實(shí)現(xiàn)方式
這篇文章主要介紹了java新增關(guān)聯(lián)的三張表,每張表要求都插入集合,代碼實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12SpringBoot2中使用@RequestHeader獲取請(qǐng)求頭的方法
springMVC/SpringBoot中提供了@RequestHeader注解用來(lái)獲取請(qǐng)求頭。本文就詳細(xì)的來(lái)介紹一下如何使用,感興趣的可以了解下2021-10-10RestTemplate使用Proxy代理作為跳板發(fā)送請(qǐng)求
這篇文章主要為大家介紹了RestTemplate使用代理proxy作為跳板發(fā)送請(qǐng)求的方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03詳解SpringBoot?統(tǒng)一后端返回格式的方法
今天我們來(lái)聊一聊在基于SpringBoot前后端分離開(kāi)發(fā)模式下,如何友好的返回統(tǒng)一的標(biāo)準(zhǔn)格式以及如何優(yōu)雅的處理全局異常,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2022-05-05