前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jvisualvm.exe使用介绍

jvisualvm.exe使用介绍

作者头像
林老师带你学编程
发布2019-05-25 23:41:32
2.2K0
发布2019-05-25 23:41:32
举报
文章被收录于专栏:强仔仔强仔仔强仔仔

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1434150

今天给大家简单介绍一下jvisualvm.exe监控工具。

相信很多人在开发过程中,基本不会去关心程序在jvm中运行的状况,一般写完接口测试数据没问题就过了。后面的事情就是测试和运维的工作了,也不会去管。

因为博主本身水平有限,所以这边只能给大家开个头(熟话说的好,师傅领进门,修行靠个人),好了我们开始今天内容了。

1.首先我们在java安装目录的bin下面,找到jvisualvm.exe,双击打开。

2.启动springboot服务,然后在jvisualvm中选择对应的服务进程,双击进入该进程,我们就可以看到该服务进程的运行情况了。 服务端接口代码:

@RestController
public class JVMTest {
    private static volatile int count = 0;
    @RequestMapping(value = "info", method = RequestMethod.GET)
    public String info() {
        count++;
        long start = System.currentTimeMillis();
        for (int i=0;i<100;i++){
            JVMEntity jvmEntity =new JVMEntity();
            jvmEntity.setName("我是内存测试");
            System.out.println(jvmEntity.toString());
        }
//        objects = null;
        long last = System.currentTimeMillis();
        System.out.println(count+"执行时间:"+(last-start));
        return "执行时间:"+(last-start);
    }
}

3.接下来我们来进行接口并发测试,这边我用的是jmeter工具。这边我们模拟100个用户,间隔1s进行http请求。

4.http请求完毕后,我们切换回jvisualvm的监控页面,大家可以看到不管的cpu还是内存、线程数都有了明显的上升。

5.我们还可以查看,进程在运行过程中,类和该类创建对象的数据,对比不同时刻的对象数量,判断是否存在内存隐患。

这边我们可以看到基本都是springboot启动本身的一些类,没有明显的异常信息。

总结

我们期望我们的程序都可以好好运行,但是有时候往往事与愿违,这个时候我们就必须分析故障发生的原因在哪里。而JVM分析又是其中重中之重,所以掌握JVM排查方法是非常有必要的。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年04月03日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档