如何使用JVisualVM进行性能分析
地址:https://visualvm.dev.java.net/连接
1、本地机器的程序直接可以监听到
2、远程机器的程序需要加上JVM参数
?
插件列表:https://visualvm.dev.java.net/plugins.html
?
注意:上面提供的端口配置有些麻烦,不如直接这样做:
要使用 VisualGC必须在远程机上启动jstatd代理程序,否则会显示 “not supported for this jvm” 错误
而启动 jstatd 时会有一个权限问题,需要做如下修改:
增加下列行 然后启动 jstatd并且不要关闭 如: 查看线程的运行情况,运行、停止、睡眠、等待,根据这些结合实际程序运行的逻辑分析。 找到可疑份子,可以Thread Dump? 找出具体是哪个线程在作祟。 参看这个例子:http://blog.tty.nl/2010/09/03/using-visualvm-to-fix-live-tomcat-and-jvm-problems 关于如何使用,如何分析程序,可以参看这个例子:http://www.baptiste-wicht.com/2010/07/profile-applications-java-visualvm/ ? ?nano /opt/sun-jdk-1.6.0.26/jre/lib/security/java.policygrant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission;};?
Threads