用JvisualVM进行性能分析_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 用JvisualVM进行性能分析

用JvisualVM进行性能分析

 2014/4/1 18:16:31  zxc3375  程序员俱乐部  我要评论(0)
  • 摘要:地址:https://visualvm.dev.java.net/连接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备注
  • 标签:Visua Visual 分析

地址:https://visualvm.dev.java.net/

连接

1、本地机器的程序直接可以监听

2、远程机器的程序需要加上JVM参数

class="plain">-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无效,会连接不上。

这里有个分析案例,利用jvisualvm分析tomcat的问题:

http://blog.tty.nl/2010/09/03/using-visualvm-to-fix-live-tomcat-and-jvm-problems

?

插件安装

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


?

插件列表:https://visualvm.dev.java.net/plugins.html

?

注意:上面提供的端口配置有些麻烦,不如直接这样做:

要使用?VisualGC?必须在远程机上启动jstatd代理程序,否则会显示 “not supported for this jvm” 错误

而启动 jstatd 时会有一个权限问题,需要做如下修改:

nano /opt/sun-jdk-?1.6?.?0.26?/jre/lib/security/java.policy

Java代码??收藏代码
  1. nano?/opt/sun-jdk-1.6.0.26/jre/lib/security/java.policy??

增加下列行

Java代码??收藏代码
  1. grant?codebase?"file:${java.home}/../lib/tools.jar"?{??
  2. ?permission?java.security.AllPermission;??
  3. ??
  4. };??

?

然后启动 jstatd并且不要关闭

如:

?

?

Threads


查看线程的运行情况,运行、停止、睡眠、等待,根据这些结合实际程序运行的逻辑分析。

找到可疑份子,可以Thread Dump? 找出具体是哪个线程在作祟。

参看这个例子:http://blog.tty.nl/2010/09/03/using-visualvm-to-fix-live-tomcat-and-jvm-problems

profile

关于如何使用,如何分析程序,可以参看这个例子:http://www.baptiste-wicht.com/2010/07/profile-applications-java-visualvm/

发表评论
用户名: 匿名