首页 > 其他分享 >jvm调优工具和调优策略

jvm调优工具和调优策略

时间:2024-06-15 14:32:06浏览次数:14  
标签:log XX 调优 gc jvm 工具 日志

JDK 为我们提供的jvm工具
命令行工具
jps 、jstat、jinfo、jmap、jhat、jstack

可视化工具
JMX、Jconsole、visualvm

生产服务器推荐开启
-XX:-HeapDumpOnOutOfMemoryError 默认关闭,建议开启,在 java.lang.OutOfMemoryError 异常出现时,输出一个 dump.core 文件,记录当时的堆内存快
照。
-XX:HeapDumpPath=./java_pid.hprof 用来设置堆内存快照的存储文件路径,默认是 java 进程启动位置,。

调优之前开启、调优之后关闭
-XX:+PrintGC
调试跟踪之 打印简单的 GC 信息参数:
-XX:+PrintGCDetails,
+XX:+PrintGCTimeStamps 打印详细的 GC 信息
-Xlogger:logpath 设置 gc 的日志路,如: -Xlogger:log/gc.log, 将 gc.log 的路径设置到当前目录的 log 目录下.
应用场景: 将 gc 的日志独立写入日志文件,将 GC 日志与系统业务日志进行了分离,方便开发人员进行追踪分析。
考虑使用
-XX:+PrintHeapAtGC, 打印推信息
参数设置: -XX:+PrintHeapAtGC
应用场景: 获取 Heap 在每次垃圾回收前后的使用状况
-XX:+TraceClassLoading
参数方法: -XX:+TraceClassLoading
应用场景: 在系统控制台信息中看到 class 加载的过程和具体的 class 信息,可用以分析类的加载顺序以及是否可进行精简操作。
-XX:+DisableExplicitGC 禁止在运行期显式地调用 System.gc()

标签:log,XX,调优,gc,jvm,工具,日志
From: https://www.cnblogs.com/velloLei/p/18249275

相关文章

  • Cognex VisionPro 工具大全及使用指南
    CognexVisionPro工具大全及使用指南在机器视觉领域,CognexVisionPro提供了强大且多样化的工具集,可以满足各种图像处理、特征检测和模式识别的需求。本文将详细介绍这些工具,并提供一个使用示例。目录图像获取和处理工具模板匹配和模式识别工具斑点和特征检测工具坐......
  • JVM垃圾回收算法和垃圾回收器
    垃圾回收算法复制算法(Copying)将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使用过的内存空间一次清理掉。这样使得每次都是对整个半区进行内存回收,内存分配时也就不用考虑内存碎片等复杂情......
  • JVM中的对象
    虚拟机中的对象对象的分配虚拟机遇到一条new指令时:根据new的参数是否能在常量池中定位到一个类的符号引用,如果没有,说明还未定义该类,抛出ClassNotFoundException1)检查加载先执行相应的类加载过程。如果没有,则进行类加载2)分配内存根据方法区的信息确定为该类分配的内存空......
  • JVM垃圾回收策略机制和算法
    判断对象的存活引用计数法给对象添加一个引用计数器,当对象增加一个引用时计数器加1,引用失效时计数器减1。引用计数为0的对象可被回收。(Python在用,但主流虚拟机没有使用)优点:快,方便,实现简单。缺陷:对象相互引用时(A.instance=B同时B.instance=A),很难判断对象是否该回收。......
  • 程序员必备的工具网站,大幅度提升你的工作效率
    整理@程序员猴哥返回到Java开发知识汇总目录1.在线正则表达式匹配网站:https://tool.oschina.net/regex/2.网络请求自动代码编写:https://curl.trillworks.com/做过爬虫的程序员都知道,我们在分析网页文件的请求时,会在开发者工具里查看浏览器请求过来的文件。3.在线......
  • 基于Python+scopy实现的渗透测试工具对网站URL以及端口进行漏洞检测系统
    目录摘要2Abstract3第1章绪论51.1研究背景与意义51.2国内外研究现状和发展趋势51.3本论文主要工作及组织结构61.3.1论文主要研究工作61.3.2论文的组织结构6第2章web安全评估及测试的介绍82.1渗透测试82.2web安全评估8第3章渗透测试及安......
  • JVM运行时数据区(线程相关)
    一、JVM运行时数据区JVM运行时数据区是一个抽象概念,主要依赖于寄存器、高速缓存、主内存几个部分组成。计算机运行=指令+数据,指令用于执行方法,数据用于指向存放的数据和对象。虚拟机栈---用于执行java方法本地方法栈---执行本地方法(通常时c语言实现的)程序计数......
  • OpenAI函数调用:使用Assistants API函数工具的一个示例
    AreyoulookingtoexpandGPT'scapabilities?CheckoutthistutorialforacompleteexampleofanAIAssistantthatcansendemailswheneverweaskitto.您是否希望扩展GPT的功能?查看这个教程,它提供了一个完整的示例,展示了一个AI助手如何在我们要求时发送电子邮......
  • MySQL的连接工具navicat报argument out of range解决办法
    MySQL5.7.22查询时候报错argumentoutofrange报错代码原因sql_mode模式导致参考sql_mode默认配置showvariableslike'sql_mode';ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO......
  • go 语言调试工具:dlv 简单使用
     1.    Delve介绍      Delve(通常简写为dlv)是一个为Go语言设计的调试器,它提供了深入代码内部的洞察力和控制力,帮助开发者更好地理解代码的行为,高效地定位和修复问题。      使用dlv进行调试,需要关闭编译器的内联、优化,不可用于生成环境:        ......