老的地址不可用了,在网上找了下新的地址
![](https://img.haomeiwen.com/i1968475/aa66aa0f3352de56.png)
新的地址为
https://visualvm.github.io/pluginscenters.html
选择相应的jdk版本,如
JDK 8 Update 131
https://visualvm.github.io/uc/8u131/updates.xml.gz
监控方式
有两种方式jmx和jstatd
1,jmx的话,监控那个进程,需要配置端口,但是jmx是不能监控到远程进程的GC的
例如 neo4j的配置
dbms.jvm.additional=-Dcom.sun.management.jmxremote
dbms.jvm.additional=-XX:+UnlockCommercialFeatures
dbms.jvm.additional=-XX:+FlightRecorder
dbms.jvm.additional=-Dcom.sun.management.jmxremote.authenticate=false
dbms.jvm.additional=-Dcom.sun.management.jmxremote.ssl=false
dbms.jvm.additional=-Dcom.sun.management.jmxremote.port=9051
dbms.jvm.additional=-Djava.rmi.server.hostname=192.168.136.102
dbms.jvm.additional=-Xdebug
dbms.jvm.additional=-Xnoagent
dbms.jvm.additional=-Djava.compiler=NONE
dbms.jvm.additional=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9052
2,jstatd,是可以监控的远程GC,但是像cpu指标的话它是监控不到的。
使用方式:
需要在jdk的bin目录下新建jstatd.all.policy文件,其内容是
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
然后启动方式是
jstatd -J-Djava.rmi.server.hostname=192.168.136.102 -J-Djava.security.policy=jstatd.all.policy -p 11099 &
最后在visual自动就能看到进程的GC了。
问题
有是配置完,还是看不到GC .可以是hostname的问题,使用hostname -i 看下ip地址是否是127.0.01,如果是的话就是这个问题了。命令中指定hostname解决此问题,见命令。
visualvm的指标说明 http://blog.csdn.net/renfufei/article/details/56678064
网友评论