VisualVM 实现JVM内存监控

VisualVM 简介

VisualVm 集成在JDK1.6以上的版本中的一个分析工具,安装完jdk 之后,在jdk/bin 目录下直接运行jvisualVM.exe即可,也可以单独下载独立的jvisuanlVM。
VisualVM 可以用来监控内存泄漏、跟踪垃圾回收、执行时内存、cpu分析、线程分析…….

VisualVM 远程监控

  1. 进入服务器的/usr/local/jdk1.80/bin目录中,在该目录下建立一个jstatd.all.policy 的文件,文件内容如下:
    grant codebase "file:${java.home}/../lib/tools.jar" {
    permission java.security.AllPermission;
    };
  2. 在jstatd.all.policy目录下运行jstatd 守护进程:
    ./jstatd -J-Djava.security.policy=jstatd.all.policy

  3. Tomcat 的配置,在tomcat/bin目录下打开startup.sh 最后添加以下:
    exec "$PRGDIR"/"$EXECUTABLE" start "$@"
    VisualVM 实现JVM内存监控_第1张图片

  4. 通过 java VisualVM连接到服务器监控java程序
    进入本地jdk 目录下的bin,启动jvisualvm.exe 程序,如下图:
    VisualVM 实现JVM内存监控_第2张图片

    本地标签下的visualVM 为jvisualVM对自身的监控,第二个为本机的eclipse,第三个为本机运行 的java 程序。
    在 java visualVM程序窗口左侧“远程”项目右键选择“添加远程主机”,在弹出对话框中输入远程主机的IP地址。
    VisualVM 实现JVM内存监控_第3张图片
    确认提交后,可在左侧可看到相应的主机和上面所运行的程序。
    VisualVM 实现JVM内存监控_第4张图片

PS:

jvisualvm也是可以安装插件的,具体步骤为tool -> plugin ->aviable plugin,推荐一个非常好用的插件VisualGC。
这里写图片描述
安装完这个插件后,将会增加新的监控条目Visual GC,可以看到虚拟机内存各个区的使用情况。
VisualVM 实现JVM内存监控_第5张图片

你可能感兴趣的:(【Java杂项】)