jvisualvm插件的使用

本文详细介绍了如何下载并安装VisualGC插件到VisualVM,以及如何配置远程服务器以便通过VisualVM进行监控。此外,还提供了解决连接问题的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

插件下载:

http://visualvm.java.net/pluginscenters.html

找对应版本下载,我目前用过的插件为Visual GC,下载下来的插件应该是.nbm格式的。

打开jvisualvm->工具->插件->已下载->添加插件...

完了之后在tomcat启动脚本里添加

-Dcom.sun.management.jmxremote.port=XXXX -Dcom.sun.management.jmxremote
.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.XX.XX

用jvisualvm连接可能提示Visual GC不受此JVM支持。解决方法如下(开启远程服务器rmi服务):

在远程服务器/home目录下新建java.policy,内容如下

grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};

然后执行jstatd -J-Djava.security.policy=/home/java.policy -J-Djava.rmi.server.logCalls=true

执行以上命令如果报拒绝连接error的话,用hostname -i和ifconfig命令查看看到的ip是否一致,如果不一致reboot重启系统,重启后系统会统一使用/etc/hosts中的ip

最后再到jvisualvm添加jstatd连接即可。

注:hostname -i和ifconfig看到的ip的区别?

答:ifconfig 看到的是当前系统网络的实际使用配置情况这种配置可以用ifconfig 实时更改,但重启系统后就失效了
hostname -i 是读取/etc/hosts文件来确认你的hostname对应的IP地址,这个结果可能不是当前系统网络的实际配置(因为ifconfig命令配置的实 际网络环境不更改/etc/hosts文件中的配置),但如果你重启系统,系统初始IP的配置一定是用/etc/hosts来配置网络的。

比如:
你的/etc/hosts中配置 APPLE 192.168.0.1
那你刚启动系统时,你用ifconfig和hostname -i看到的系统IP都是192.168.0.1
这时如果你用ifconfig 命令更改了网络地址为:192.168.0.2
那么你的ifconfig和hostname -i看到的就不同了
ifconfig看到的是192.168.0.2
hostname -i 看到的是192.168.0.1
这时你重启系统再看
ifconfig和hostname -i看到的系统IP又都是192.168.0.1,手动用ifconfig配置的临时IP设置在重启时失效了

 参考:http://zhidao.baidu.com/link?url=0DjtZyLEYgaSasKdEHpMAav_6-C1q_PJCCXekMfAy2CsBXnGxZw_pIla31DRF4rLyHjsRiSR3TAAEIe6NVMmKK

转载于:https://www.cnblogs.com/sqliutao/p/4315014.html

### 使用 JVisualVM 插件进行性能分析和监控 #### 安装插件 为了增强 JVisualVM 的功能,可以安装多种插件来满足不同的需求。常见的插件有 Visual GC、BTrace 和 MBeans 等[^2]。 对于 **Visual GC** 而言,该插件提供了关于垃圾收集器活动更为详尽的信息展示,使得开发者能够深入了解 JVM 中的对象分配情况及不同代的大小变化趋势。 而像 **BTrace** 这样的工具,则允许用户在不改变应用程序源码的前提下对其行为实施追踪;这对于诊断难以重现的问题尤其有用,因为它可以在运行时注入简单的脚本来获取特定事件的日志记录或统计信息。 至于 **MBeans (Managed Beans)** ,它们代表了一种标准化的方式用于暴露 Java 应用内部的状态给外部管理系统。借助于这个特性,在 JVisualVM 内部集成后的 mbean 浏览器可以帮助管理员轻松访问并操作这些管理接口,从而实现对服务端组件的有效监督与控制。 #### 配置与启动 一旦选择了合适的插件之后,便可以通过 JVisualVM 图形界面完成相应的加载工作。通常情况下,默认仓库已经包含了上述提及的一些常用选项,因此只需按照提示逐步操作即可快速上手[^3]。 当一切准备就绪后,无论是本地还是远程部署的应用实例都能够成为被监测对象——只需要确保网络连接正常并且目标主机开放了必要的调试端口以便建立会话连接[^4]。 ```bash # 启动JVisualVM jvisualvm ``` #### 数据采集与分析 利用已启用的功能模块,现在可以从多个维度捕捉到有关程序执行期间资源消耗状况的数据样本: - **CPU Profiler**: 记录方法调用频率及时长分布; - **Memory Sampler/Tracer**: 抽样检查堆内各部分占用量或是全程跟踪新创建对象的生命历程直至其被回收为止; - **Thread Dump**: 获取当前所有活跃线程快照以排查死锁现象或其他并发异常情形。 以上述方式积累下来的资料不仅有助于识别潜在瓶颈所在之处,而且还能为进一步采取针对性措施提供坚实依据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值