news 2026/6/10 20:44:57

对于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/10 10:44:51

一文读懂亚马逊SIOC包装测试标准

亚马逊物流中,自有容器运输(SIOC)包装需通过专项测试保障商品完好。由ISTA与亚马逊联合制定的《ISTA 6-AMAZON.COM-SIOC标准》,是测试核心依据,2016年发布后始终是卖家合规的关键参考。该标准专为亚马逊配送的SIOC商品…

作者头像 李华
网站建设 2026/6/10 10:43:43

2026版最全面Java面试汇总(面试题+答案)

今年的行情,让招聘面试变得雪上加霜。已经有不少大厂,如腾讯、字节跳动的招聘名额明显减少,面试门槛却一再拔高,如果不用心准备,很可能就被面试官怼得哑口无言,甚至失去了难得的机会。 现如今,…

作者头像 李华
网站建设 2026/6/10 10:46:34

惊!IF持续下跌,中科院1区Top或将降为2区

🔥 🔥 🔥 🔥 《IEEE Transactions on Neural Networks and Learning Systems》由IEEE计算智能学会于 1990 年创刊,在神经网络、机器学习、深度学习及相关交叉领域享有极高的学术声誉和影响力。 值得注意的是&a…

作者头像 李华
网站建设 2026/6/10 12:54:39

基于Redis的缓存穿透与雪崩解决方案

运行效果:https://lunwen.yeel.cn/view.php?id=5462 基于Redis的缓存穿透与雪崩解决方案 摘要:随着互联网技术的飞速发展,Redis作为一种高性能的内存数据结构存储系统,被广泛应用于缓存领域。本文针对Redis缓存系统可能出现的缓存穿透和雪崩问题,提出了一系列解决方案。…

作者头像 李华
网站建设 2026/6/10 19:14:46

什么是回归测试,冒烟测试,渗透测试

一、先讲个故事:一栋楼的“三次验收” 假设你是开发商,盖了一栋居民楼,现在要交付给业主住。整个过程里,有三种完全不同的“检查”,分别对应:冒烟测试、回归测试、渗透测试。1. 冒烟测试:交房前…

作者头像 李华
网站建设 2026/6/10 15:07:15

从零开始学虚拟化:安全加固全指南(ESXi+vCenter + 虚拟机)虚拟化环境的安全风险具有 “牵一发而动全身” 的特性 —— 宿主主机漏洞可能导致全集群虚拟机被渗透,vCenter 权限滥用可

从零开始学虚拟化:安全加固全指南(ESXivCenter 虚拟机) 虚拟化环境的安全风险具有 “牵一发而动全身” 的特性 —— 宿主主机漏洞可能导致全集群虚拟机被渗透,vCenter 权限滥用可能引发数据泄露,跨虚拟机攻击可能突破…

作者头像 李华