首页 > 编程语言 >java虚拟机日志跟踪相关设置

java虚拟机日志跟踪相关设置

时间:2023-01-17 17:34:30浏览次数:44  
标签:java 年轻 收集器 虚拟机 XX GC 内存 日志

 

GC详细日志简要分析:
2023-01-17T14:16:23.810+0800: 10233.942: [GC (Allocation Failure)
2023-01-17T14:16:23.810+0800: 10233.942: [DefNew: 70396K->439K(78720K), 0.0012171 secs] 144598K->74642K(253504K), 0.0013205 secs]
[Times: user=0.00 sys=0.00, real=0.00 secs]

2023-01-17T14:16:23.810:GC事件开始的时间点
+0800:代表正8时区
10233.942:GC事件相对于JVM启动时间的间隔,单位是秒
GC (Allocation Failure):用来区分Minor GC还是Full GC的标志。GC表明这是一次小型GC(Minor GC)即年轻代GC
Allocation Failure:表示触发GC的原因。本次GC事件,是由于对象分配失败,年轻代中没有空间来存放新生成的对象引起的
DefNew:是Serial收集器的标识。它进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集结束
70396K->439K(78720K):GC前年轻代使用了70396K内存,GC后年轻代使用了439K内存,78720K表示年轻代总的内存大小
0.0012171 secs:本次GC耗时,单位s
144598K->74642K(253504K):GC前堆内存的使用量144598K,GC后堆内存使用74642K,堆总内存为253504K。
0.0013205 secs:本次GC耗时,单位s
user:所有 GC线程消耗的CPU时间
sys:系统调用和系统等待事件消耗的时间
real:则表示应用程序暂停的时间

可推出:
GC前后年轻代内存使用率为:89.42% -> 0.55%     使用量减少 70396-439=69957K
GC前后堆内存使用率为:57% -> 29.4%            使用量减少 144598-74642 = 69956K    GC一次后由年轻代转换为老年代为69957-69956 = 1k
GC前老年代使用量:144598 - 70396 = 74202K
GC后老年代使用量:74642 - 439 = 74203K
应用程序由于GC而产生的停顿时间说明:
2023-01-17T16:58:30.641+0800: 704.791: Total time for which application threads were stopped: 0.0002828 seconds, Stopping threads took: 0.0000628 seconds
停止应用程序线程的总时间: 0.0002828秒,停止线程的时间: 0.0000628秒

 

参数 说明
-XX:+PrintGC 简单打印GC日志
-XX:+PrintGCDetails 详细打印GC日志
-XX:+PrintHeapAtGC 打印全面的Java堆信息
-XX:+PrintGCTimeStamps GC发生时,额外输出GC发生的时间,该输出时间为虚拟机启动后的时间偏移量
-XX:+PrintGCDateStamps GC发生时,带时区的日期打印
-XX:+PrintGCApplicationConcurrentTime 打印应用程序的执行时间
-XX:+PrintGCApplicationStoppedTime 打印应用程序由于GC而产生的停顿时间
-XX:+PrintReferenceGC 跟踪系统内的软引用,弱引用,虚引用和Finallize队列
-Xloggc:log/gc.log 指定gc日志输出的文件路径。JDK8开始支持使用%p,%t等占位符来指定GC输出文件。分别表示进程pid和启动时间戳。例如: ./Log/gc-%p.log ./Log/gc-%t.log
-XX:+HeapDumpOnOutOfMemoryError 内存溢出时导出整个堆信息
-XX:HeapDumpPath 指定导出堆的存放路径
   
-Xms: 初始堆大小
-Xmx: 最大堆大小
-XX:NewSize=n 设置年轻代大小
-XX:NewRatio=n 设置年轻代和年老代的比值.如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4
-XX:SurvivorRatio=n 年轻代中Eden区与两个Survivor区的比值.注意Survivor区有两个.如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5
-XX:MaxPermSize=n 设置持久代大小
   
-XX:+UseSerialGC 设置串行收集器
-XX:+UseParallelGC 设置并行收集器
-XX:+UseParalledlOldGC 设置并行年老代收集器
-XX:+UseConcMarkSweepGC 设置并发收集器
                 
           
 










       

标签:java,年轻,收集器,虚拟机,XX,GC,内存,日志
From: https://www.cnblogs.com/ding08/p/17058383.html

相关文章

  • Mac上优秀的虚拟机软件推荐 PD Parallels Desktop 18.1.1
    APPERK软件信息 软件名称ParallelsDesktop版本号18.1.1软件类型官网版+商业版安装包大小390MB语言中文系统支持macOS11及以上(M芯片原生)......
  • CentOS 7 修改日志时间戳格式
    CentOS7修改日志时间戳格式https://blog.51cto.com/babyshen/2142254默认的时间戳格式是Jul1413:30:01localhostsystemd:StartingSession38ofuserroot.1.看......
  • Multipass一款更轻量级的虚拟机
    概述Multipass是一个轻量虚拟机管理器,是由Ubuntu运营公司Canonical所推出的开源项目。运行环境支持Linux、Windows、macOS。在不同的操作系统上,使用的是不同的虚拟......
  • Java并发编程
    1.并发与并行?并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。并发(concurrency):指在同一时刻只能有......
  • java学习笔记
    键盘输入接收用户输入的数据,使用键盘输入语句来获取。Input.java,需要一个扫描器(对象)Scannerimportjava.util.Scanner;publicclassInput{publicstaticvoidm......
  • JavaWeb开发中在服务器常用命令集锦
    基本的lsmvmidir就不说了。一.后端部署1.1启动jar包#默认会将所有日志存放到一个当前目录中新建的nohup.out文件中nohupjava-jar-Duser.timezone=GMT+8ap......
  • Java反序列化-CommonsCollections1利用链分析
    前言学习Java基础语法也有1年多的时间了,Java安全基础也学了有半年了,期间通过ctf赛题学习过fastjson的反序列化并了解了其利用链,但并未深入学习并记录笔记。一直都说要赶......
  • Java基础-方法
    Java中分类一共四种类型无参无返回、无参带返回、有参无返回和有参带返回 1.无参无返回值得 publicstaticvoid(){...}2.无参带返回值publicstatic 数据类型()......
  • UI自动化Selenium的使用--Java语言
    1.Selenium的运行环境依赖于Java环境,Java环境分JDK和JRE,JDK就是JavaDevelopmentKit。简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。JRE是Java......
  • selenium_webdriver_ java 进行元素定位时的页面跳转问题
    在UI自动化测试操作过程中有时候点击某个链接会弹出新的窗口,这时我们如果需要操作新打开页面中的元素,就需要将页面切换到新打开的页面上再进行操作。java实现如下://窗口切......