代码编织梦想

VisualVM是Sun的一个OpenJDK项目,其目的在于为Java应用创建一个整套的问题解决工具。它集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览Heap Dump、Thread Dump、内存对象实例情况、GC执行情况、CPU消耗以及类的装载情况。 Java开发人员可以使用 VisualVM创建必要信息的日志,系统管理人员可用来监控及控制Java应用程序在网络中的运行状况。  

使用visual vm远程监控tomcat运行情况,需要对tomcat主机设置如下:

1. 通过jstatd启动RMI服务
        配置java安全访问,将如下的代码存为文件 jstatd.all.policy,放到JAVA_HOME/bin中,其内容如下,
        grant codebase "file:${java.home}/../lib/tools.jar" {

               permission java.security.AllPermission;

          };

2、给文件增加可执行权限chmod +x tomcat

3、执行命令jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.2.83 &

     因为是守护进程,需要在最后增加 &符号

     注意IP需要替换为实际的IP

4、visual vm新增监控主机


主机名添加已经开启jstatd监控的ip,

可以看到2.83已经监控了三个tomcat,通过pid可以了解到是哪个应用。

内存占用分析工具

mat.zip

常见问题解决:

1、启动jstat进程报如下错误:

     

[tomcat@localhost ~]$ Could not create remote object
access denied ("java.util.PropertyPermission" "java.rmi.server.ignoreSubClasses" "write")
java.security.AccessControlException: access denied ("java.util.PropertyPermission" "java.rmi.server.ignoreSubClasses" "write")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:372)
at java.security.AccessController.checkPermission(AccessController.java:559)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.System.setProperty(System.java:783)
at sun.tools.jstatd.Jstatd.main(Jstatd.java:139)

     是由于先启动远程visual vm监控,再启动jstat导致。关闭visual vm,即可启动成功。

JVM监控:JVM监控指标、JVM监控界面实现、Java监控JVM-爱代码爱编程

本文概要:            1、监控JVM的哪些指标;            2、一目了然的JVM监控的UI界面;            3、Java代码获取JVM监控状态。   1、监控JVM的哪些指标                 javaVersion                                        

java jvm监控实现_JVM及Java监控原理与实践-爱代码爱编程

简介 主要是介绍一下对运行Java程序的一些跟踪,以及对JVM内存等方面进行运维的一些方法。 反解析class文件的工具使用 一般使用jd-gui工具进行反编译class文件 有些jd-gui无法反编译的class,可以使用luyten工具进行反编译 Java进程分析命令介绍 jps 用于获取所有的JVM进程信息,类似于linux的ps命

<JVM下篇:性能监控与调优篇>01-概述篇-02-JVM监控及诊断工具-命令行篇-爱代码爱编程

笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 同步更新:https://gitee.com/vectorx/NOTE_JVM https://codechina.csdn.net/qq_35925558/NOTE_JVM https://github.com/uxiahnan/NOTE_JVM

JVM 性能监控-爱代码爱编程

JVM 性能监控 前言一、Arthas 下载解压运行 arthas-boot.jar二、 jvisualvm 前言 jconsole 用的少,建议用 jvisualvm 功能强大些 最好的是Arthas 一、Arthas 下载解压运行 arthas-boot.jar 查看dashboard 二、 jvisualvm 打开车cmd 输

jvm(三)——性能监控-爱代码爱编程

一、面试题     二、背景、概述 1、为什么要进行调优? ——防止、解决OOM;减少Full gc出现的频率 2、生产环境中的问题 1)、生产环境发生了内存溢出该如何处理 2)、生产环境应该给服务器分配多少内存合适? 3)、如何对垃圾回收器的性能进行调优? 4)、生产环境CPU负载飙高该如何处理?

JVM配置、监控、调优-爱代码爱编程

1.JVM资料 java虚拟机设置 #xms虚拟机最小内存 xmx虚拟机最大内存 xmn新生代初始内存(比NewRatio优先) -Xms256m -Xmx256m -Xmn192M #老年代和新生代比例,默认2 -XX:NewRatio=2 #禁用Survivor区自适应策略 -XX:-UseAdaptiveSizePolicy #Survi

Java环境的搭建-爱代码爱编程

Java环境的搭建 文章目录 Java环境的搭建前言一、Java环境的搭建1.Java 虚拟机——JVM2.JDK安装图解3.环境变量的配置 前言 Sun Microsystems于1995年推出的面向对象的程序设计语言,共同创始人的詹姆斯·高斯林 (James Gosling)被誉为“Java之父”。 是一种面向Internet的编程语

jvm调试环境 简单快速搭建_瞬身_止水的博客-爱代码爱编程

安装Docker Desktop 官网下载Docker Desktop并安装, Developers - Docker 启动镜像  docker run -d cyliang1113/debug-jvm-vscode:0.1 安装VS Code 官网下载VS Code并安装, Visual Studio Code - Code Editing. R

06-jvm-监控及调优案例_想到的名字都被人用了的博客-爱代码爱编程

一、常用JVM监控指令 进程监控-jps jps [pid] 查看java进程 jvm信息查看-jinfo jinfo -flags [pid] 查看jvm所有参数**jinfo -flag 【具体参数名称】 【pi