java监控exe_JVisualVM监控本地Java进程

一、基于JVisualVM的可视化监控

1、打开C:\Program Files\Java\jdk1.8.0_131\bin下的jvisualvm.exe

2、打开后,会列出本机所有的Java进程

346d76f40d6f98bcc6bdbba6f1fe8394.png

3、安装插件visualvm

1)查看java的版本

c9157661b3dd587bbce84bef092daa49.png

2)打开https://visualvm.github.io/pluginscenters.html

选择131

5494e724fc3ae175776961ef0f3c5beb.png

3)打开工具-> 插件->设置

85d781833dc9d17e770ab9761200e099.png

a82d388e6b0567feff7260825e2cb3d3.png

然后在可用插件中选择Visual GC,然后“安装”

d7399430a1e76e3189b73b207cfe7849.png

然后安装BTrace

b54c4857511959252f5e8bfd55c4f4e1.png

4、使用JVisualVM+BTrace 查看访问参数

BTrace打开位置为

4c6c35281713e74a9974bb071f404839.png

然后将Btrace脚本复制进去

package com.example.monitor_tuning.chapter4;

import com.sun.btrace.AnyType;

import com.sun.btrace.BTraceUtils;

import com.sun.btrace.annotations.*;

/**

* 此Btrace脚本和要跟踪的代码不是放在同一个工程里的。这里演示方便,放在一起。

*/

@BTrace

public class PrintArgSimple {

/*要拦截哪个类,哪个方法,什么时候拦截*/

@OnMethod(

clazz = "com.example.monitor_tuning.chapter4.Ch4Controller",

method="arg1",

location = @Location(Kind.ENTRY)

)

/*ProbeClassName 方法类名; ProbeMethodName 方法名 ; AnyType[] 方法参数*/

public static void anyRead(@ProbeClassName String pcn, @ProbeMethodName String pmn, AnyType[] args)

{

BTraceUtils.printArray(args);

BTraceUtils.println(pcn + "," + pmn);

BTraceUtils.println();

}

}

点击start,编译完成

访问http://localhost:8080/monitor_tuning/ch4/arg1?name=Bob

显示效果:

1aa70832215610793563556e2b83c6c1.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值