很乱的记了点东西,详细待补充
首先需要介绍下
VisualVM即java程序监控和简单的profile能力于一体,同时不同于java自带的jvisualvm,功能强大的多,是性能调优的极佳工具。(java1.6后续版本jvisualvm功能同visualvm已经相近)
visualvm主页:http://visualvm.java.net/
特性:
先看一下对一个java程序的监控
从上面红框框出的地方我们可以发现visualVM即监控、进程信息、Sampler以及Profiler于一身
1、方便的查看本地和远程的java程序
对于远程的java程序需要在java启动参数中添加jmx参数
-Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
其中各参数意思如下:
-Dcom.sun.management.jmxremote.port=9999 指定了JMX启动的代理端口;这个端口就是Visual VM和Jconsole要连接的端口
-Dcom.sun.management.jmxremote.ssl=false 指定了JMX是否启用ssl
-Dcom.sun.management.jmxremote.authenticate=false 指定了JMX链接是否需要认证
2、显示java程序的配置和运行环境参数
包括进程id、main class、程序启动参数、 JVM版本, JDK home, JVM标志和参数、系统参数
http://visualvm.java.net/features.html
3、监控程序性能和内存消耗
参考:中文文档http://visualvm.java.net/zh_CN/gettingstarted.html
使用:
插件:
安装方法:visualvm菜单工具->插件。对于官方的插件可以直接在打开的窗口进行选择,无需先手动下载。
jdk各个版本visualvm自带的插件列表:http://visualvm.java.net/features.html#ideintegration
visualvm 官方插件:http://visualvm.java.net/plugins.html
其他资料:
http://developer.51cto.com/art/200906/130424.htm
http://zorufa876.iteye.com/blog/625649
http://www.longtask.com/blog/?p=465
http://www.oschina.net/question/16_1581
http://sjsky.iteye.com/blog/705323
http://download.oracle.com/javase/6/docs/technotes/guides/visualvm/profiler.html