JDK自带的线程监视工具jvisualvm

一.Java VisualVM 概述

对于使用命令行远程监控jvm 太麻烦 。 在jdk1.6 中 Oracle 提供了一个新的可视化的。JVM 监控工具 Java VisualVM 。 jvisualvm.exe 在JDK 的 bin 目录下。

双击启动 Java VisualVM 后可以看到窗口左侧 “应用程序 ”栏中有“ 本地 ”、“远程 ” 、“快照 ”三个项目。

“本地 ”下显示的是在 localhost 运行的 Java 程序的资源占用情况,如果本地有 Java 程序在运行的话启动 Java VisualVM 即可看到相应的程序名,点击程序名打开相应的资源监控菜单,以图形的形式列出程序所占用的 CPU 、 Heap 、 PermGen 、类、线程的 统计信息。

“远程” 项下列出的远程主机上的 Java 程序的资源占用情况,但需要在远程主机上运行jstatd 守护程序

jvisualvm:监控内存泄露,跟踪垃圾回收,执行时内存、cpu分析,线程分析...

jvisualvm已经被集成在jdk1.6以上的版本中(不是jre)。自身运行需要最低jdk1.6版本,但是可以监控运行在jdk1.4以上版本的java程序

以jdk1.6update45(jdk1.6update45自带的jvisualvm)来做说明,当然也可单独下载独立的jvisualvm,正常安装完jdk后,至jdk的bin目录下,运行jvisualvm.exe即可

jdk自带有线程监视工具

Java\jdk1.8.0_65\bin 目录下

点击启动

运行程序

可以看到运行情况,有关监控进程的概要,监控,线程等信息都会以图像的方式显现出来,能更方便的对Java运行程序做分析

右键左边栏,正在运行的Java程序,可以执行Dump,线程,Dump堆的操作并且可以将正在运行的程序进行快照储备,同时可以设置在发生内存溢出时自动生成Dump文件。

右键【文件】-->【添加远程主机】可对远程运行的Java程序进行监控

菜单栏,工具-->插件 辅助功能 可以帮助我们更细致对Java程序进行监视分析,比如Visual GC 能显示年轻代里的Eden区和survivor区的实时数据

Visualvm是一个非常实用的Java 监控工具,操作十分方便

原文地址:https://www.cnblogs.com/springcloud/p/9007412.html

时间: 2024-11-08 22:40:43

JDK自带的线程监视工具jvisualvm的相关文章

使用jdk自带的线程池。加载10个线程。

在开发中使用线程,经常不经意间就new Thread()一个出来,然后发现,这样做不是很好,特别是很多线程同时处理的时候,会出现CPU被用光导致机器假死,线程运行完成自动销毁后,又复活的情况. 所以在这个时候,就需要使用到线程池.. 线程池就是类似数据库连接池,限定一个规定大小的连接数(线程数),然后,需要处理的线程直接调用连接池执行线程.当插入的线程个数超过线程池个数的时候,就会排队等待... 线程池不需要到别的地方找,JDK就自带有一个挺不错的池:java.util.concurrent.E

jdk自带常用命令行工具使用

下面是笔者整理的jdk自带的常用命令行工具的使用方法,全部原创,转载请注明出处,并贴上链接,谢谢! jps命令使用 jstat命令使用 jinfo命令使用 jmap命令使用 jhat命令使用 jstack命令使用 jcmd命令使用

JDK自带的监控分析工具JConsole

非常多开发人员认为自己懂Java编程.事实是大多数开发人员都仅仅领会到了Java平台的皮毛.所学也仅仅够应付工作. 作者将深度挖掘Java平台的核心功能.揭示一些鲜为人知的事实.帮助您解决最棘手的编程困难. 当应用程序性能受到损害时,大多数开发者都惊慌失措.这在情理之中. 跟踪Java应用程序瓶颈来源一直以来都是非常麻烦的,由于Java虚拟机有黑盒效应,并且Java平台分析工具一贯就有缺陷. 然而,随着Java5中JConsole的引入,一切都发生了改变. JConsole是一个内置Java性能

Java 常用的日志工具——JDK自带的java.util.logging包、APACHE 的log4j 与 slf4j日志处理接口

考虑以下情况: (1).根据程序输出可以很好地帮助程序员调试程序.在编写小型程序时,可以在程序中不断增加 System.out.print() 语句来查看程序运行状态:在大型系统中,显然这一做法非常不对,可以考虑将调试信息通过日志处理工具,输出到一个文本文件中,然后查看文件内容. (2).在系统开始线上运行后,系统管理人员需要获知系统的运行情况,包括但不限于系统开始运行时间.系统关闭时间.系统目前处理任务等,这些状态需要输出到一个经过格式化的日志文件中,供管理人员查看: (3).在编写系统,甚至

JDK自带工具之jinfo

Jinfo是JDK自带Java配置信息工具.位于java的bin目录下,jinfo的作用是实时地查看和调整虚拟机的各项参数,虽然使用Jps命令的-v参数可以查看虚拟机启动时显示指定的参数列表.但是如果想要知道没有被明确指出的系统默认值,就需要用到jinfo. Jinfo还能够修改一部分运行期间能够调整的虚拟机参数. 1.Jinfo命令格式 jinfo [ option ] pid 2.常用参数 Usage: jinfo <option> <pid> (to connect to a

任务调度(一)——jdk自带的Timer

说到任务调度,大家可能会想到Quartz框架,但是jdk自带的简单任务调度工具类,反而了解的人并不是很多.我觉得如果你的业务相对简单的话,没必要非得用Quartz等框架,使用Timer完全可以胜任的.简单来分享一下我了解的Timer. Timer是jdk中提供的一个定时器工具,使用的时候会在主线程之外起一个单独的线程执行指定的计划任务,可以指定执行一次或者反复执行多次. TimerTask是一个实现了Runnable接口的抽象类,代表一个可以被Timer执行的任务. 我是用TimerTask来创

JDK Tools - jinfo: Java 配置信息工具

jinfo 是 JDK 自带的配置信息工具,可以查看.设置 Java 进程的参数配置. 命令格式 jinfo [ option ] pidjinfo [ option ] executable corejinfo [ option ] [[email protected]]remote-hostname-or-IP 命令参数 -flag name 打印给定参数的键值对. -flag [+|-]name 使给定的命令行参数可用或不可用. -flag name=value 设置给定的命令行参数的值为

JDK自带工具之jstack

jstack是java虚拟机自带的一种堆栈跟踪工具.jstack位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控. Jstat可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量. 1.Jstack命令格式 jstack [ option ] pid 2.常用参数 -F当'jstack [-l] pid'没有相应的时候强制打印栈信息 -l长列表. 打印关于锁的附加信息,例如属于java.u

死锁排查的小窍门 --使用jdk自带管理工具jstack

本文版权归 远方的风lyh和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 开发时间久了,难免会写出一些一些死锁的代码,自己明明调用该方法可该方法就是不执行.不进该方法.日志也不打印! 这里我们模拟一段死锁的代码,使用jdk自带的管理工具来排查是不是死锁了! 1 //思索代码 2 public class DeadLockDemo implements Runnable{ 3 4 public int flag = 1; 5 //静态对象是类的所有对象共享的 6 privat