jvm 的GUI监控工具

1.jconsole工具

jdk的bin/目录下自带的工具。效果见图1-1.

图1-1 Jconsole

2.visual VM 

jdk的bin/目录下自带的工具。

堆dump可以用来分析程序,文件后缀为.hprof。

生成堆dump的方法见图2-1

图2-1 JvisualVM生成堆dump

2.1 连接本地jvm进程

打开visual VM直接可以见到。

2.2 连接远程jvm进程

需要在远程机器上添加jvm的启动参数。

比如在A机器(windows)上查看B机器(linux)上j进程c(java进程)的情况。需要在c启动时加入参数:

-Djava.rmi.server.hostname=${B机器ip}
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=${port}
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

然后把 -jar (或 -cp)这些后续参数放后面就可以了。JDK不用做任何设置。成功后见图2-2。

图 2-2  远程查看

时间: 2024-10-24 00:59:40

jvm 的GUI监控工具的相关文章

性能测试总结(二)---测试流程篇

本文主要介绍下性能测试的基本流程,性能测试从实际执行层面来看,测试的过程一般分为这么几个阶段,如下图: 下面分别介绍下每个阶段具体需要做什么: 一.性能需求分析: 性能需求分析是整个性能测试工作开展的基础,如果连性能的需求都没弄清楚,后面的性能测试执行其实是没有任何意义的,而且性能需求分析做的好不好直接影响到性能测试的结果. 一些性能测试人员常犯的错误就是测试一开始就直接用工具对系统进行加压,没有弄清楚性能测试的目的,稀里糊涂做完了以后也不知道结果是否满足性能需求.市面上的书籍也大都是直接讲性能

JVM深入学习笔记五:JVM 监控工具

命令行工具 JDK提供了很多的工具来监控JVM. 这些工具都是支持RMI远程监控的,暂且不记录远程调试的办法 1. JPS Process Status.  列出正在执行的虚拟机进程,可以查看到具体的类和进程ID. public class JPSTest { public static void main(String[] args) { while(true){} } } 执行之. 使用windows命令查看进程: C:\Users\huanggang>tasklist | findstr

在Unix/Linux上令(java)JVM支持中文输出

unix|中文 原文: 在Unix/Linux上令(java)JVM支持中文输出 一.在Unix/Linux上令JVM支持中文输出 如果用户使用的是UNIX的远程服务器,就会遇到中文字体在图像中输出的问题,特别是由于许多管理员并不喜欢把主机的locale定为zh(因为意味着可能出乱码或必须装微形图形终端象zhcon,但很多情况下这样的条件并不具备).大部分程序员的JAVA经验苟限于JSP脚本程序,部分熟练的程序员大概开发过中间件.servlet.applet或在WINDOWS上运行的GUI程序.

JVM第三篇(简单demo)

本来写完前面两篇JVM,已经不再想写这类似的东西,因为很多知识点很难吃透,即使写出来也很难让人理解,即使理解还不如看官方资料,不过还是鼓起勇气写下这篇文章,本文主要是demo去理解一些JVM的内存知识,版本为hotspot的1.6.24版本,不过本文不讲指令,只是模拟一些东西,类似于出题目,和大家一起来做下:本文几个简单实验不能说明所有问题,仅仅是分享一下理解JVM的内在和一些不可告人的秘密,以及告诉分享一些方法,以后可以自己做实验去扩展.   1.首先来模拟一个简单的溢出,代码很简单,我们也把

使用Java VisualVM监控远程JVM(linux配置)

我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualVM就是不错的监控工具. 这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe, 双击这个文件就能看到一个比较直观的界面   从左边Applications树中可以知道,不光可以监控本地JVM运行情况, 还可以监控远程机器上的JVM运行情况. 本地监控:只要打开某个JAVA程序就

JVM学习(1)——通过实例总结Java虚拟机的运行机制

JVM的历史 JVM的运行流程简介 JVM的组成(基于 Java 7) JVM调优参数:-Xmx和-Xms 逃逸分析(DoEscapeAnalysis )的概念--JVM栈上分配实验 JVM中client模式(-client)和server模式(-server)的区别 查看GC日志的方法 使用idea对JVM进行参数输入 Java栈,Java堆和方法区的交互原理 为了能让递归方法调用的次数更多一些,应该怎么做?   当今--截止本文总结之前,使用最为广泛的 JVM 为 HotSpot(HotSp

JVM启动参数设置

  不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM.GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率.但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同(主要cup个数,内存不同),所以使用的GC种类也会不同(如何选择见GC种类及如何选择).本文将

《JVM故障诊断指南》之2 —— 调整合适的Java堆大小的技巧

原文链接 原文作者:Byron Kiourtzoglou 翻译:梅小西(904516706) 在生产系统上决定合适的Java堆大小不是一个容易的操作.许多性能问题的发生都是由于不恰当的Java堆容量的错误调整.这部分将从介绍一些技巧作为开头,它能帮助你在当前的或者新的生产系统上决定最佳的Java堆大小.其中一些技巧对预防OutOfMemoryError问题和内存泄露方面也同样有用. 请注意这些技巧是倾向于"帮助你"决定合适的Java堆大小.因为每一个IT环境都不相同,实际上你是处于最好

Tomcat中JVM内存溢出及合理配置

Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机.Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识进行详细介绍. 一.Java JVM内存介绍 JVM管理两种类型的内存,堆和非堆.按照官方的说法:"Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时创建的.""在JVM中堆之外的内存称为非堆内存(Non-heap