为了账号安全,请及时绑定邮箱和手机立即绑定

怎么使用JVisualVM进行性能分析

/ 猿问

怎么使用JVisualVM进行性能分析

JVM
蛊毒传说 2018-11-06 05:04:19

怎么使用JVisualVM进行性能分析


查看完整描述

1 回答

?
qq_笑_17

连接
1、本地机器的程序直接可以监听到
2、远程机器的程序需要加上JVM参数
-Dcom.sun.management.jmxremote= true
-Dcom.sun.management.jmxremote.port= 9090
-Dcom.sun.management.jmxremote.ssl= false
-Dcom.sun.management.jmxremote.authenticate= false
备注:另外需要检查
hostname –i
看解析出来是否为本地的IP,如是127.0.0.1或者IP为多个IP中之一,则其他的IP无效,会连接不上。

插件安装
tools->plugin->Available Plugin 会有值得安装的插件,如:VisualGC JConsole

注意:上面提供的端口配置有些麻烦,不如直接这样做:
要使用 VisualGC 必须在远程机上启动jstatd代理程序,否则会显示 “not supported for this jvm” 错误
而启动 jstatd 时会有一个权限问题,需要做如下修改:
nano /opt/sun-jdk- 1.6 . 0.26 /jre/lib/security/java.policy
nano /opt/sun-jdk-1.6.0.26/jre/lib/security/java.policy

增加下列行
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;

};

然后启动 jstatd并且不要关闭
如:

Threads

查看线程的运行情况,运行、停止、睡眠、等待,根据这些结合实际程序运行的逻辑分析。
找到可疑份子,可以Thread Dump 找出具体是哪个线程在作祟。



查看完整回答
反对 回复 2018-11-16
  • 1 回答
  • 0 关注
  • 363 浏览
我要回答

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信