首页 > 系统相关 >深入理解 JVM---JVM 和 GC 日志 以及 内存分配回收日志

深入理解 JVM---JVM 和 GC 日志 以及 内存分配回收日志

时间:2023-04-05 16:25:07浏览次数:35  
标签:JDK 虚拟机 --- GC JVM 日志 级别

虚拟机及垃圾收集器日志

1、JDK9 日志

在JDK 9以前,HotSpot并没有提供统一的日志处理框架,虚拟机各个功能模块的日志开关分布在不同的参数上,日志级别、循环 日志大小、输出格式、重定向等设置在不同功能上都要单独解决。

直到JDK 9,这种混乱不堪的局面 才终于消失,HotSpot所有功能的日志都收归到了“-Xlog”参数上,这个参数的能力也相应被极大拓展 了:

-Xlog[:[selector][:[output][:[decorators][:output-options]]]]

选择器(Selector)最关键,以下两部分

    • 标签(Tag),虚拟机中某个功能模块的名字:add,age,alloc,annotation,aot,arguments,attach,barrier,biasedlocking,blocks,bot,breakpoint,bytecode
    • 日志级别(Level),共有Trace,Debug,Info,Warning,Error,Off六种级别,默认级别为Info

修饰器(Decorator),每行日志输出都附加上额外的内容,如果不指定,默认值是uptime、level、tags这三个

    • time:当前日期和时间。
    • uptime:虚拟机启动到现在经过的时间,以秒为单位。
    • timemillis:当前时间的毫秒数,相当于System.currentTimeMillis()的输出。
    • uptimemillis:虚拟机启动到现在经过的毫秒数。
    • timenanos:当前时间的纳秒数,相当于System.nanoTime()的输出。
    • uptimenanos:虚拟机启动到现在经过的纳秒数。
    • pid:进程ID。
    • tid:线程ID。
    • level:日志级别。
    • tags:日志输出的标签集。

2、JDK9 前后举例

1、查看GC基本信息,在JDK 9之前使用-XX:+PrintGC,JDK 9后使用-Xlog:gc:

标签:JDK,虚拟机,---,GC,JVM,日志,级别
From: https://www.cnblogs.com/suBlog/p/17289555.html

相关文章

  • rpi4-osdev-学习开发日志-2
    前言大伙大概还没忘掉我之前说的话吧?有些那种一眼就知道怎么一回事或者那种只是单纯的接个线配置点东西看点成果的我一概不会理会的,也不会去写,没那个必要。那么,把代码编译一下吧。但是问题在于你用什么编译?怎么个编译法子?原文上来就介绍makefile是个啥以及教你写makefile,我们......
  • linux-通配符
    Linux通配符主要用户模糊查找文件,常用的Linux通配符如下表所示:名称作用*可以匹配任意数量任意字符?可以匹配一个任意字符[]可以匹配括号中的任意一个字符[^]可以匹配指定范围之外的任意单个字符示例:[abc],[a-m],[a-z],[A-Z],[0-9],[a-zA-Z],[0-9......
  • 树:剑指 Offer 55 - II. 平衡二叉树
    题目描述:输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。示例1:  示例2:  限制:0<=树的结点个数<=10000 方法基于以下性质推出: 此树的深度 等于 左子树的深度 与 ......
  • 自动驾驶-预瞄-Pure pursuit纯跟踪算法-MATLAB实现
    有空把引入、逻辑、原理介绍给写了,目前先给大家看看代码。将来写大概会分成这么几块:汽车运动学自行车模型跟踪算法主流模型及特点纯跟踪算法原理推导代码介绍代码原创,来之不易,请勿不注明转载。喜欢点个赞吧!网上许多代码都跑不起来hhclc;clear;%------------formroa......
  • 使用jstack排查JVM进程死锁
    前言在Linux系统使用JDK自带的jstack指令分析输出的线程信息排查死锁的详细步骤。例子程序下面是一个模拟线程死锁的例子程序,编译(javacDeadLockSample.java)后执行(javaDeadLockSample)这个程序来启动一个JVM进程。其中一个线程会成功获取到DeadLockSample的Class对象锁持续打......
  • 2002-text3
    2002-text3economic经济的,经济学的,有经济效益的economy经济,节约economist经济学家decline下降,减少,衰退;谢绝scary吓人的,可怕的scare惊恐,惊吓,恐慌n./v.previous以前的,之前的inflation通货膨胀;(充气而引起的)膨胀suspend暂停,中止;悬挂;推迟......
  • 让JVM感知K8s资源限制
    无感知导致的问题当我们在K8s中Deployments配置资源限制和预留的时候,比如设置最大内存为500M。但是宿主机的总内存为8G,这时候Pod启动后会超出内存限制,被Deployments杀掉。但为了维护设置的副本数量又创建新的,如此反复。原因是默认情况JVM默认最大堆空间为系统总内存的1/4,在容器......
  • 如何使用和查找JVM选项
    Java程序启动方式执行类:java[-options]class[args...]执行jar文件:java[-options]-jarjarfile[args...]options指JVM选项,比如堆内存大小;args指程序接收的参数,也就是publicstaticvoidmain(String[]args)中的args。class指启动类文件(.class)的路径,jarfile指......
  • [ML] 详解 ChatGLM-webui 的启动使用与 ChatGLM-6B 常见问题
     1.ChatGLM-webui总共支持以下几个命令选项: 2.以windows为例,在PowerShell里运行命令: #安装依赖pipinstalltorch==1.13.1+cu117torchvision==0.14.1+cu117-fhttps://mirror.sjtu.edu.cn/pytorch-wheels/torch_stable.html-ihttps://mirrors.bfsu.edu.cn/p......
  • 2013年工作中遇到的20个问题:41-60
    41.API的稳定性publicstaticList<Integer>getStatusCode(Stringrole);被多个方法调用。其中一个方法是xxxFunction(){getStatusCode(“role”);现在需要给getStatusCode增加一个参数,aa;参数的值aa从session中取得,aa=ActionContextUtils.getFromSession("aa");现在遇到一个问题,如......