JAVA内存分析:idea集成jprofiler查看JVM内存使用情况

JAVA内存分析:idea集成jprofiler查看JVM内存使用情况

JAVA内存分析一:基于dump内存溢出快照分析
JAVA内存分析二:idea集成jprofiler查看JVM内存使用情况
JAVA内存分析三:使用JDK自带工具进行内存和CPU分析及垃圾回收

引言

在生产环境发现存在内存溢出的情况,想在本地的开发环境,将程序跑起来进行运行情况分析,那么我们可以采用idea+jprofiler集成的方式,进行内存分析。

操作步骤

  1. idea 集成 jprofiler插件
  2. 本地安装 jprofiler.exe 下载地址 :jprofiler
  3. 运行本地程序
  4. 观察数据处理时,JVM中的变化

开始执行

1. idea 安装jprofiler

JAVA内存分析:idea集成jprofiler查看JVM内存使用情况_第1张图片

2. 配置idea和jprofiler的关联关系

即idea,setting中Tools中对jprofiler进行配置
JAVA内存分析:idea集成jprofiler查看JVM内存使用情况_第2张图片

3.本地运行要监控的程序

JAVA内存分析:idea集成jprofiler查看JVM内存使用情况_第3张图片
idea会自动和jprofiler进行关联
JAVA内存分析:idea集成jprofiler查看JVM内存使用情况_第4张图片
如果没有特殊的要求,点击ok就可以了
JAVA内存分析:idea集成jprofiler查看JVM内存使用情况_第5张图片
实时的运行情况就已经出来了

JAVA内存分析:idea集成jprofiler查看JVM内存使用情况_第6张图片
再Lives Memory中,可以查看内存的使用情况,就可以对正在运行的程序进行分析了

4.现在来处理数据,观察内存的变化情况

4.1当前进行监控的程序是rabbitMq的消费端,用于处理消息队列

4.2现在通过服务端,进行发送消息,并观察消费端的内存变化情况

开始执行:

运行一下,之前写好的往消息队列发送消息的程序

    @Test
    public void testSend() throws InterruptedException {
     
        for (int i = 0; i < 1000; i++) {
     
            testSendProducer.sendMsg("你好,打工人!" + i);
        }
        Thread.sleep(2000);
    }

运行成功,消息已发送
JAVA内存分析:idea集成jprofiler查看JVM内存使用情况_第7张图片

消费者消息处理成功
JAVA内存分析:idea集成jprofiler查看JVM内存使用情况_第8张图片
现在我们再来看,内存的变化情况
JAVA内存分析:idea集成jprofiler查看JVM内存使用情况_第9张图片
从监控图中,可以看到,在处理监听到的消息时,内存,CPU等,有明显的变化。

后记

至此,我们就完成了idea对jprofiler的集成,并对运行的程序进行内存监控。
在一些特定的场景下,就可以对我们的应用运行情况进行很好的监控。

你可能感兴趣的:(java,集成jprofiler,idea集成jprofiler,java,jvm,jvm.gc)