Java 应用配置 GC 日志输出内容

JAVA开发中GC日志打印简单通用的配置详解 生产环境上,或者其他要测试 GC 问题的环境上,一定会配置上打印GC日志的参数,便于分析 GC 相关的问题。 但是可能很多人配置的都不够“完美”,要么是打印的内容过少,要么是输出到控制台,要么是一个大文件被覆盖,要么是…… 阅读详情
Java 应用配置 GC日志输出文件
GC 日志部分配置项

基本 GC 日志信息

-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+PrintGCTimeStamps

GC 后对象年龄分布信息

-XX:+PrintTenuringDistribution

GC 后打印GC前后的堆数据

-XX:+PrintHeapAtGC

GC会产生暂停,打印 STW 时间(暂停时间)

-XX:+PrintGCApplicationStoppedTime

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xOMfCLK8-1652436329757)(C:\Users\hwy\AppData\Roaming\Typora\typora-user-images\image-20220406155025905.png)]

打印 safepoint 信息(进入STW阶段,需要找到一个合适的 safepoint )

-XX:+PrintSafepointStatistics
-XX:+PrintSafepointStatisticsCount=1

打印 Reference 信息 (查看强引用/弱引用/软引用/虚引用/finalize方法 是否存在问题)

-XX:+PrintReferenceGC
GC 日志输出格式

GC 日志输出的文件路径(%t 表示取当前时间作为文件名)

-Xloggc:自定义路径/gc-%t.log

GC 日志文件分割

-XX:+UseGCLogFileRotation

GC 日志文件最多分割几个文件,超过从头开始写

-XX:NumberOfGcLogFiles=14

每个文件上限大小,超过就触发分割

-XX:GCLogFileSize=100M
Java Safepoint 与Stop The World 原文首发于知乎https://www.zhihu.com/question/577228381 SafePoint1.1 什么是SafePointSafepoint是java代码中一个线程可能暂停执行的一个位置,SafePoint保存了其他位置没有的一些运行信息。在这个位置上保存了线程上下文的任何信息,包括对象或者非对象的内部指针。在接收到JVM的进入Stop The World 的信息,在saf 阅读详情

相关推荐

部署java项目的时候指定jvm参数,并可以导出gc日志

通过合理配置 JVM 参数和监控 GC 日志,可以显著提升 Java 应用的稳定性和性能。

qq_57756904的博客 1151

JAVA-GC日志打印配置详解

当服务出现内存飙高、卡顿宕机等等情况,有可能因为GC问题,所以要有日志进行排查。4、复制日志命令在VM Options即可。5、linux启动Java命令。

javaeEEse的博客 4537

N32G003学习——第九章 第三节1 串口 发送

经过第九章前2节的学习,基础打下之后,开始敲代码。

qq_34525008的博客 1034

求你了,GC 日志打印别再瞎配置了

先点赞再看,养成好习惯 生产环境上,或者其他要测试 GC 问题的环境上,一定会配置上打印GC日志的参数,便于分析 GC 相关的问题。 但是可能很多人配置的都不够“完美”,要么是打印的内容过少,要么是输出到控制台,要么是一个大文件被覆盖,要么是…… 本文带你一步一步,配置一个完美的 GC 日志打印策略 打印内容 为了保留足够多的“现场证据”,最好是 GC 相关的信息打印完整。而且你的程序真的不差你GC时打印日志I/O消耗的那点性能 打印基本 GC 信息 打印 GC 日志的第一步,就是开启 GC 打印的参数.

qq826654664jx的专栏 2074

Docker 安装 CentOS7

本文主要介绍了docker 下安装centos7。访问 CentOS 镜像库地址:https://hub.docker.com/_/centos?tab=tags&page=1。可以通过 Sort by 查看其他版本的 CentOS 。默认是最新版本 centos:latest 。 使用以下命令来查看是否已安装了 centos7: 启动centos容器,并把docker上centos的22端口映射到本机60001端口(端口号可以自己指定) 3、进入到Centos容器 4.安装ssh服务和网络必须软件

折腾java的博客 1万+

【C++】C++异常语法、使用、规范、异常安全及异常的优缺点

实际中我们可以可以去继承exception类实现自己的异常类。但是实际中很多公司像上面一样自己定义一套异常继承体系。因为C++标准库设计的不够好用。如果有一个块抛出一个异常,捕获异常的方法会使用 try 和 catch 关键字。try 块中放置可能抛出异常的代码,try 块中的代码被称为保护代码。C++ 提供了一系列标准的异常,定义在 中,我们可以在程序中使用这些标准的异常。异常是一种处理错误的方式,

weixin_51692487的博客 1524

java gc日志_Java打开GC日志

环境: JDK1.8打开GC日志:-verbose:gc这个只会显示总的GC堆的变化, 如下:[GC (Allocation Failure) 80832K->19298K(227840K), 0.0084018 secs][GC (Metadata GC Threshold) 109499K->21465K(228352K), 0.0184066 secs][Full GC (M...

weixin_42468321的博客 1111

用Python+LLM实现小说自动转剧本:从爬取到生成的完整实战指南(附GitHub源码)

本文提供了一份完整的实战指南,详细介绍了如何利用Python和大语言模型(LLM)构建一个自动化的小说转剧本工具。文章从网络爬虫获取文本开始,逐步讲解了使用LLM进行智能解析与结构化、集成专业模型进行情绪分析与动作生成,最终合成并输出格式规范的剧本文档。通过模块化架构设计和附带的GitHub源码,帮助开发者掌握从数据获取到内容生成的全流程,实现高效的小说剧本转换器。

xray4的博客 411

GC日志分析

概述 通过阅读GC日志,我们可以了解java虚拟机内存分配与回收策略。 内存分配与垃圾回收的参数列表 -XX:+PrintGC 输出GC日志。类似:-verbose:gc -XX:+PrintGCDetails 输出GC的详细日志 -XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式) -XX:PrintGCDateStamps 输出GC的时间戳(以日期的形式,如2013-05-04T21:53:59.234+0800) -XX:+PrintHeapAtG

抽象的螺旋 269

在最新版eclipse中配置使用AI AIcoder _AIcoder配置GPUSTACK使用_配置OLLAMA本地AI模型利用_集合---AI场景应用工作笔记

本文介绍了三款实用的编程辅助工具:一款便捷的反编译插件,可直接在插件市场安装使用;GitHub Copilot提供每月2000次代码补全和50条聊天记录的免费额度,支持智能代码提示功能;aicoder支持配置本地模型运行。这些工具都能有效提升开发效率,其中GitHub Copilot的智能补全功能尤为突出。

添柴程序猿的专栏 1237

【AVRCP】规范精讲[19]: 媒体属性全解析,让你的蓝牙设备显示完整歌曲信息

AVRCP协议中的媒体属性是蓝牙音频设备传输歌曲元数据的关键,包含标题、艺术家、专辑等32位ID标识的键值对信息。规范要求字符串属性必须使用UTF-8编码,但乱码问题频发(如中文显示异常),主因是设备未遵循编码标准或使用GBK等非规范格式。常见问题包括信息不全(仅显示标题)、封面缺失(因带宽限制或格式不支持)及更新延迟(通知机制未启用)。解决方案包括强制UTF-8编码、优化封面大小(如300x300像素JPEG)、主动请求缺失属性。Android示例代码展示了通过广播接收器解析媒体属性的方法。

byte轻骑兵的技术小窝 1万+

Java GC日志查看,GC日志时间分析

Java中的GC有哪几种类型? 参数 描述 UseSerialGC 虚拟机运行在Client模式的默认值,打开此开关参数后, 使用Serial+Serial Old收集器组合进行垃圾收集。 UseParNewGC 打开此开关参数后,使用ParNew+Serial Old...

xiaocai9999的专栏 3万+

《HiVT: Hierarchical Vector Transformer for Multi-Agent Motion Prediction》论文阅读之HiVT

目录摘要1.介绍2.相关工作3.方法3.1. 总体框架3.2 场景表示 3.3 分层向量Transformer3.3.1 局部编码器3.3.2 全局交互模块3.3.3 多模态未来解码器3.4 训练4.实验4.1 实验设置4.2 消融研究 4.3. 结果5.结论 准确预测周围交通参与者的未来运动对于自动驾驶车辆的安全至关重要。最近,矢量化方法由于能够捕捉交通场景中的复杂交互而在运动预测领域占据主导地位。然而,现有的方法忽略了问题的对称性并且受到昂贵的计算成本的影响,面临着在不牺牲预测性能的情况

Gavinmiaoc的博客 3340

Java GC算法——日志解读与分析(GC参数基础配置分析)

GC日志解读入门

卓越无关环境,保持空杯心态——靡不有初,鲜克有终 1万+

CKA-CN考试之路----1

后的的任意位置,但-n 和autoscale 必须是相连的.后面不再对命名空间部分做解释了.说明配置正确,如果无法保存退出,再次检查对齐.不用怀疑一定是复制的时候少了字母或者对齐出错.运行以下命令确认红色箭头的值和题目要求是否一致。将文档中的内容复制并粘贴到对应位置.,后续不再提醒yaml的对齐。确认脚本check1.sh。

Q先生 606

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

JVM 配置GC日志

开启GC日志 多种方法都能开启GC的日志功能,其中包括:使用-verbose:gc或-XX:+PrintGC这两个标志中的任意一个能创建基本的GC日志 (这两个日志标志实际上互为别名,默认情况下的GC日志功能是关闭的) 使用-XX:+PrintGCDetails标志会创建更详细的GC日志 推荐使用-XX:+PrintGCDetails标志(这个标志默认情况下也是关闭的); 通常情况下使用基本的GC日志很难诊断垃圾回收时发生的问题。 开启GC时间提示 除了使用详细的GC日志,我们还推荐使用-XX:+P

Coco_chun的博客 8953

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Java无法输出gc日志_【GC分析】Java GC日志查看

Java中的GC有哪几种类型?参数描述UseSerialGC虚拟机运行在Client模式的默认值,打开此开关参数后,使用Serial+Serial Old收集器组合进行垃圾收集。UseParNewGC打开此开关参数后,使用ParNew+Serial Old收集器组合进行垃圾收集。UseConcMarkSweepGC打开此开关参数后,使用ParNew+CMS+Serial Old收集器组合进行垃圾收...

weixin_28738983的博客 1517

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Java 性能调优实战:JVM 参数配置与 GC 日志分析

Java 性能调优是一个系统工程,涉及 JVM 参数配置、GC 日志分析、线程管理、内存优化等多个方面。通过合理配置 JVM 参数和分析 GC 日志,可以有效提升 Java 应用的性能,减少 GC 停顿时间,提高系统吞吐量和响应能力。在实际应用中,开发者和运维人员应结合业务需求和性能瓶颈,灵活调整 JVM 参数,并借助 GC 日志分析工具深入挖掘性能问题。随着 Java 技术的发展,G1、ZGC 等新一代垃圾回收器为性能调优提供了更多选择,合理选择垃圾回收器并优化其配置,是提升 Java 应用性能的关键。

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

Java 开启 gc 日志

构建一个 jar 包程序 使用 Spring Boot 构建一个简单的 web 程序,可以直接使用 java -jar 来启动。 @RestController @RequestMapping("/root") @SpringBootApplication public class SbDemoApplication { public static void main(String[] ...

weixin_34248849的博客 3478

linux 输出gc日志,Tomcat输出保存JVM GC日志文件

当系统出现问题时,分析java虚拟机GC日志可以帮助我们定位问题,一般来说,我们可以通过制定JVM参数使tomcat保存GC日志文件,具体实现如下:Windows下找到tomcat的解压目录,进入bin文件夹,修改catalina.bat,在第一行加入如下代码set "JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCDetails -XX:+PrintGCTimeStamps ...

weixin_39688170的博客 1081

JAVA、Spring类型应用输出GC日志

可以在java的执行命令中加入以下jvm参数,将GC的日志保存下来用GCViewer或者GCeasy进行分析。 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/log/k8sapplication/gc-%t.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=1M 以上命令详情解析可见Java官网 和 UseGCLogFileRotation

austin1000的博客 779

java查看gc日志_GC日志查看

GC日志查看可以通过在java命令种加入参数来指定对应的gc类型,打印gc日志信息并输出至文件等策略。GC的日志是以替换的方式(>)写入的,而不是追加(>>),如果下次写入到同一个文件中的话,以前的GC内容会被清空。对应的参数列表-XX:+PrintGC输出GC日志-XX:+PrintGCDetails输出GC的详细日志-XX:+PrintGCTimeStamps输出GC的...

weixin_33435783的博客 3188

GC日志解读,这次别再说看不懂GC日志了

测试环境:机器内存16G,JDK 8,12核CPU 测试用例: import java.util.Random; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.LongAdder; /* 演示GC日志生成与解读 */ public class GCLogAnalysis { private static Random random = new Random(); public static.

6038
上一篇: Spring事务及事务失效的部分场景
下一篇: win10 Jdk 版本切换
香草味小布丁
博客等级 码龄10年 461粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值