JVM调优案例(仅供启迪不知道jvm调优如何下手的同学参照)

准备工作

  1. 安装调优工具 jprofiler
  2. idea 集成 jprofiler 插件
  3. 写一个内存溢出的demo,并配置启动参数
  4. dump堆栈信息
  5. 使用工具分析dump下来的文件

安装 jprofiler

在这里插入图片描述
官网下载安装 输入激活码即可,网上有很多教程

idea 集成 jprofiler 插件

在这里插入图片描述
集成成功后 ,idea上会显示小标志
在这里插入图片描述
配置jprofiler路径

在这里插入图片描述

内存溢出的demo

在这里插入图片描述

package com.li;

import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @author liql
 * @date 2021/7/17
 */
public class Test {
    public static Map map=new ConcurrentHashMap();
    public static void main(String[] args){
        long i=0;
        while (true){
            map.put(i,i);
            i++;
        }
    }
}



配置启动参数

在这里插入图片描述![在这里插入图片描述](https://img-blog.csdnimg.cn/20210717112016636.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1ODEyMTgx,size_16,color_FFFFFF,t_70

设置JVM参数
参数解释:
-Xms1m 初始化堆内存大小为41m
-Xmx10m 堆内存最大值为10m
-XX:+HeapDumpOnOutOfMemoryError 设置当出现OOM时 dump堆栈信息

如果不配置,就会出现像我这种情况
在这里插入图片描述

启动演示dump

在这里插入图片描述
双击点开文件
在这里插入图片描述

分析

jprofiler的功能使用就不在赘述了,有需求的可以网上查找
打开文件后

在这里插入图片描述
![查看出现问题的对象://img-blog.csdnimg.cn/20210717113312206.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1ODEyMTgx,size_16,color_FFFFFF,t_70)

查找是哪个线程的问题以及在代码的哪个位置
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值