news 2026/7/2 7:16:34

对于jvm调优的思路

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
对于jvm调优的思路

我们对这个jar包,要监控什么,为什么jvm需要调优,怎么监控指标,什么时候需要去进行调优呢.

这里先做一个第一版的总结:

我们知道,在java、中,是不用去进行内存管理的。
内存管理,由GC做了,我们需要做的就是去了解GC

这里先简单的过一遍这个jvm会做到事情
1.判断对象什么时候可以被回收、使用引用计数法,或者可达性分析
2.在jvm中使用了常见的垃圾回收器,选择对应的垃圾回收算法,来处理这些被回收的对象。

这里花费一些篇幅讲,垃圾回收算法,
1.标记清除算法
2.复制算法
3.标记整理算法
4.分代收集算法

垃圾回收器:
1.适用于个人电脑的串行垃圾收器:使用标记整理算法,单线程,垃圾回收所有的都stw

2.并行垃圾回收器(jdk8默认使用)
parallel new(作用于新生代。复制算法)
parallel old(作用于老年代,标记整理算法)
java中多线程工作,但是垃圾回收的时候,要stw

3.cms垃圾回收器
垃圾回收的时候,不会stw

4.G1垃圾回收器

对于这些垃圾回收器,应该如何选择使用。

  1. 一般来说吞吐量优先的垃圾回收器:-XX:+UseParallelGC -XX:+UseParallelOldGC,即常规的(PS/PO)
  2. 响应时间优先的垃圾回收器:CMS、G1

为什么需要调优呢,两个问题

1.gc出现问题了,heap(老年代)内存,fullgc次数频繁,gc停顿长,出现oom,或者outofmemoryerror问题。就是这个指标等监控的时候出现问题了。

2.其他指标出现了问题,想要提高吞吐量,或者低延迟的指标,硬件的内存,cpu指标过高,有本地缓存,或者占用大量的空间,就是不是jvm内部的指标出现问题了,而是对于项目的其他因素产生了不好的影响。

如何监控到jvm的状态,或者异常

1.使用arthas监控jar包正在运行的状态

2.cpu过高,内存过高,

cpu过高,找到对应的进程id,线程id,使用jstack打印出对应的堆栈信息
内存过高,找到对应的进程id,使用jmap的命令找到对应的,内存分配情况,哪个对象占用内存多,哪些存活对象占用内存多

如何进行调优

1.找到问题点,直接修改代码
导出oom、的dump文件,用工具分析

2.在jvm启动的时候,加上参数
这里先说一下,可以加的参数类型
1.java初始化内存的设置xms
2.java运行时内存设置xmx
3.指定分代回收算法,新生代,老年代的比例
4.指定垃圾回收器
5.打印gc日志

如何处理相关的问题的思路

1.ygc耗时过长的处理防范

2.线上频繁fullgc的处理方案是什么

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/30 12:41:31

基于Java的超市积分系统和会员分类_开题报告(1)

目录 系统背景与意义系统功能模块技术选型关键实现示例预期成果 项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 以下是基于Java的超市积分系统和会员分类的开题报告内容整理: 系统背景与意义…

作者头像 李华
网站建设 2026/7/1 1:05:12

基于Uniapp+ssm的社区疫情防控系统毕业论文

目录 系统概述技术架构核心功能模块创新点分析论文结构建议代码示例(SSM部分)应用价值 项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 系统概述 基于UniappSSM的社区疫情防控系统…

作者头像 李华
网站建设 2026/6/26 4:46:23

Python 地理数据处理——GeoTIFF 读取与分析实战

一、从 TIF 到 GeoTIFF——当图像拥有了坐标 假设你用手机拍摄了一张风景照,或者在电脑上保存了一张高清的地图图片。在计算机眼里,这些普通的图片(通常是 JPG、PNG 或普通的 TIF 格式)其实只是由无数个像素排列而成的矩阵&#x…

作者头像 李华
网站建设 2026/6/30 3:03:03

从此告别拖延,AI论文写作软件千笔·专业论文写作工具 VS 万方智搜AI

随着人工智能技术的迅猛发展,AI辅助写作工具已逐渐成为高校学生完成毕业论文的重要帮手。越来越多的专科生开始借助这些智能工具来提升写作效率、优化论文结构,甚至在文献检索与格式规范方面也获得专业支持。然而,面对市场上种类繁多、功能各…

作者头像 李华
网站建设 2026/7/1 13:50:21

MAC物理地址和IP网络地址有什么区别?

目录 一、什么是MAC地址二、什么是IP地址三、如何隐藏真实的MAC地址四、如何隐藏真实的IP地址 一、什么是MAC地址 MAC地址,全称为媒体访问控制地址(Media Access Control Address),是一种用于网络通信的唯一标识符。它是由IEEE 8…

作者头像 李华