jvisualvm 使用

和jconsole侧重于内存分析和检测不同,jvisualvm在线程分析方面更强大一些,下面简单介绍下使用:

1. 在要监控的java应用配置文件中,本例是apache-jmeter/bin/jmeter文件,记住不可换行!

HEAP="-Xms512m -Xmx512m -Dcom.sun.management.jmxremote -Djava.awt.headless=true -Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=19.168.1.1 "  

2. 打开jvisualvm并新增一个jmx连接:

填入ip和port

然后即可打开监视界面,默认的是当前JVM的概要包括参数等:

我们主要看线程状态,单击线程选项卡:

如果发现线程时间轴上有红色块则表明线程阻塞了:

单击第四幅图右上角的线程dump,可以显示当前所有线程的状态,如果有blocked我们可以看到其详细原因,本例中是:

时间: 2024-11-05 12:03:42

jvisualvm 使用的相关文章

jvisualvm性能监控

1.进入tomcat bin目录 vim catalina.sh #!/bin/sh下面加入: #!/bin/sh JAVA_OPTS="-Djava.rmi.server.hostname=192.168.1.141 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxrem

如何使用JVisualVM远程监控和优化Tomcat和Java程序的内存和CPU

如何使用VisualVM远程监控和优化Tomcat和Java程序的内存和CPU JVisualVM 是Java 继 JConsole 之后有一款力作,是集成了诸多分析和优化Java程序的工具的工具. 我们可以用它来为优化Java程序的内存占用,找出内存泄漏,分析Java程序的CPU占用情况,根据JVisualVM获取到的数据优化JVM配置等.   总之是相当好了~~~~ JVisualVM 位于JAVA_HOME/bin目录下 . 直接运行可打开. 打开后界面如下: 由于JVisualVM 本身

使用JVisualVM 远程监控Tomcat程序中使用JMX鉴权访问

如何配置JVisualVM远程监控Tomcat程序请参考:http://hiandroidstudio.blog.51cto.com/5902332/1795310 1.配置JMX访问文件     # cd $CATALINA_HOME/conf/     # cp $JAVA_HOME/jre/lib/management/jmxremote.password.template jmxremote.password     # chmod 700 jmxremote.password    (

Java自带的性能监测工具用法简介——jstack、jconsole、jinfo、jmap、jdb、jsta、jvisualvm

JDK内置工具使用 一.javah命令(C Header and Stub File Generator) 二.jps命令(Java Virtual Machine Process Status Tool) 三.jstack命令(Java Stack Trace) 四.jstat命令(Java Virtual Machine Statistics Monitoring Tool) 五.jmap命令(Java Memory Map) 六.jinfo命令(Java Configuration Inf

使用jvisualvm来远程观察Java程序及jvisualvm插件[转]

jvisualvm是JDK自带的监控JVM运行状况的工具,利用jvisualvm可以查看JVM的运行.GC情况:线程的运行情况:内存中类及实例的情况等. 使用jvisualvm来远程观察Java程序,原文链接:http://blog.iamzsx.me/show.html?id=394002 有时候,我们可能需要远程查看某台机器上的Java程序的运行情况,例如,可能出现了内存泄露,但是只能在某个特定的环境中出现.这时候我们就需要远程观察Java程序的一些执行情况.jvisualvm提供了很方便的

使用JVM管理工具jvisualvm,系统提示"无法检测到本地java应用程序"的原因和解决办法

我使用的JDK版本是1.6.0_37版本,操作系统是windows xp,今天想使用下%JAVA_HOME%/bin/目录下的一些管理工具,结果遇到麻烦了.使用JPS命令,无法列出本地运行的java虚拟机:使用jvisualvm,提示"无法检测到本地java应用程序". 这个问题的原因可以看下:http://docs.oracle.com/javase/1.5.0/docs/guide/management/faq.html#win1 大概原因有2种: 1.操作系统的临时文件目录所在的

使用jvisualVM对中间件进行性能分析

下载地址:https://visualvm.dev.java.net/ 连接1.本地机器的程序直接可以监听到 2.远程机器的程序需要加上JVM参数 -Dcom.sun.management.jmxremote= true-Dcom.sun.management.jmxremote.port= 9090-Dcom.sun.management.jmxremote.ssl= false-Dcom.sun.management.jmxremote.authenticate= false 备注:另外需要

JvisualVM、JMC监控远程服务器

修改服务器上jmxremote.access与jmxremote.password,输入命令: find -name jmxremote.access 进入该jmxremote.access文件所在目录中,输入命令:cd /usr/java/jdk1.8.0_91/jre/lib/management 路径要用到两个文件:(jmxremote.access和jmxremote.password)mv jmxremote.access.template jmxremote.access如果 jmx

jconsole,jvisualvm监控jvm配置方法

在平常工作中监控jvm是一项必要的工作,但总是用命令行方式不能实时进行监控,jconsole就是一款可视化的即时监控工具.jvisualvm与jconsole用法基本一样. 个人倾向于使用jconsole,虽然jvisualvm界面更漂亮,但堆内存中每个区的使用情况不显示,只显示堆的总大小和已使用的大小,不能看到eden,surivor等详情使用情况,所以我一般使用jconsole来看堆内存更为详情的情况. 1.首先安装jdk,在bin目录下找到jconsole,双击打开. 2.一般采用远程安装

JVM性能监控工具-Jvisualvm

用法:Jvisualvm是JDK自带的一款性能分析工具 使用方式: 1.配置好JDK环境变量 1.本地JVM监控略 2.远程JVM监控 ps -ef | grep java存在多少个java进程,jvisualvm就存在多少个 用JMX对Resin内存状态进行监控 ,可以看到本地所有可监控的JVM实例. 原理就是通过添加一些JMX相关的JVM启动参数来控制JMX的行为,例如端口,验证信息等.Resin3.1.X版本的配置文件中有一些设置JVM args的配置项目,可以直接在里面修改. Resin