news 2026/5/3 22:01:04

对于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/5/3 9:37:24

从局域网到公网!MCSManager+cpolar 解锁 MC 服务器全场景使用

文章目录 1. 搭建我的世界服务器1.1 服务器安装java环境1.2 配置服务端1.3 创建我的世界服务器 2. 局域网联机测试3. 安装cpolar内网穿透4. 公网联机Minecraft5. 配置固定远程联机端口地址 MCSManager 主要用于快速部署和管理 Minecraft 游戏服务器,支持 Linux 多系…

作者头像 李华
网站建设 2026/4/27 5:47:14

从 DEM 到 3D 渲染:R 语言 rayshader 地形可视化全指南

一、为什么要用 rayshader?当我们打开一张普通的地图时,看到的往往是平面的线条和色块。虽然我们可以通过等高线去想象山脉的起伏,或者通过蓝色的深浅去猜测湖泊的深浅,但这始终缺乏一种身临其境的震撼感。rayshader 的出现&#…

作者头像 李华
网站建设 2026/4/27 12:32:44

面试官:ping 通了就代表网络没问题吗?

大家好,今天我们聊一个网络排查里的基础指令 — ping。 平时遇到网络问题,我们都会下意识先 ping 一下,很多人也默认 ping 通了 网络没问题,但真实的网络状况,远比“ping 通不通”更复杂。 今天我们就来揭秘 ping 背…

作者头像 李华
网站建设 2026/5/3 2:34:10

2026年电子器件与智能控制国际学术会议(EDIC 2026)

2026年电子器件与智能控制国际学术会议(EDIC 2026)将于2026年3月27日至29日在中国福建厦门隆重召开。本次会议汇聚全球电子器件与智能控制领域的专家、学者和行业精英,旨在交流最新研究成果与技术进展,推动学术合作与产业发展。会…

作者头像 李华
网站建设 2026/4/27 9:20:47

揭秘appium滑动屏幕技巧—实现用户仿真动作的多重方式

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快在移动端应用中,基于简便的原因,用户通常会倾向于使用滑动操作来达到与应用程序中的控件进行交互的,这使得滑动成为自动化测试中…

作者头像 李华