VisualVM 实现JVM内存监控
VisualVM 简介
VisualVm 集成在JDK1.6以上的版本中的一个分析工具,安装完jdk 之后,在jdk/bin 目录下直接运行jvisualVM.exe即可,也可以单独下载独立的jvisuanlVM。
VisualVM 可以用来监控内存泄漏、跟踪垃圾回收、执行时内存、cpu分析、线程分析…….
VisualVM 远程监控
- 进入服务器的/usr/local/jdk1.80/bin目录中,在该目录下建立一个jstatd.all.policy 的文件,文件内容如下:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
}; 在jstatd.all.policy目录下运行jstatd 守护进程:
./jstatd -J-Djava.security.policy=jstatd.all.policy
Tomcat 的配置,在tomcat/bin目录下打开startup.sh 最后添加以下:
exec "$PRGDIR"/"$EXECUTABLE" start "[email protected]"
-
通过 java VisualVM连接到服务器监控java程序
进入本地jdk 目录下的bin,启动jvisualvm.exe 程序,如下图:本地标签下的visualVM 为jvisualVM对自身的监控,第二个为本机的eclipse,第三个为本机运行 的java 程序。
在 java visualVM程序窗口左侧“远程”项目右键选择“添加远程主机”,在弹出对话框中输入远程主机的IP地址。
确认提交后,可在左侧可看到相应的主机和上面所运行的程序。
PS:
jvisualvm也是可以安装插件的,具体步骤为tool -> plugin ->aviable plugin,推荐一个非常好用的插件VisualGC。
安装完这个插件后,将会增加新的监控条目Visual GC,可以看到虚拟机内存各个区的使用情况。