`
- 浏览:
2184127 次
- 性别:
- 来自:
北京
-
一、概述
SUN 的JDK中的几个工具,非常好用。秉承着有免费,不用商用的原则。以下简单介绍一下这几种工具。(注:本文章下的所有工具都存在JDK5.0以上版本的工具集里,同javac一样,不须特意安装) 。
我一共找到以下四个工具:重点看看jconsole和jmap。
Java代码
jps
与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。
jstat
一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。
jmap
打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。
4.console
一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。
二、 使用介绍:
1、jps:我想很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程,及其 id。 jps 也是一样,它的作用是显示当前系统的java进程情况,及其id号。我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独 占一个java虚拟机实例),和他们的进程号(为下面几个程序做准备),并可通过opt来查看这些进程的详细启动参数。
使用方法:在当前命令行下打 jps(需要JAVA_HOME,没有的话,到改程序的目录下打) 。
可惜没有linux下的ps好用,名称不好用。但是在第四个工具jconsole的界面里面会有具体JAR包的名称。
2、jstat:对VM内存使用量进行监控。
jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。以下详细介绍各个参数的意义。
jstat -class pid:显示加载class的数量,及所占空间等信息。
jstat -compiler pid:显示VM实时编译的数量等信息。
jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
jstat -gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,如:PGCMN显示的是最小perm的内存使 用量,PGCMX显示的是perm的内存最大使用量,PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。其他的可以根据这个类推, OC是old内纯的占用量。
jstat -gcnew pid:new对象的信息。
jstat -gcnewcapacity pid:new对象的信息及其占用量。
jstat -gcold pid:old对象的信息。
jstat -gcoldcapacity pid:old对象的信息及其占用量。
jstat -gcpermcapacity pid: perm对象的信息及其占用量。
jstat -util pid:统计gc信息统计。
jstat -printcompilation pid:当前VM执行的信息。
除了以上一个参数外,还可以同时加上 两个数字,如:jstat -printcompilation 3024 250 6是每250毫秒打印一次,一共打印6次,还可以加上-h3每三行显示一下标题。
3、jmap 是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用方法 jmap -histo pid。如果连用 SHELL jmap -histo pid>a.log可以将其保存到文本中去(windows下也可以使用),在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。 jmap -dump:format=b,file=f1 3024可以将3024进程的内存heap输出出来到f1文件里。
4、jconsole是一个用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。由于是GUI程序,这里就不详细介绍了,不会的地方可以参考SUN的官方文档。
使用方法:命令行里打 jconsole,选则进程就可以了。
友好提示:windows查看进程号,由于任务管理器默认的情况下是不显示进程id号的,所以可以通过如下方法加上。ctrl+alt+del打开任务管 理器,选择‘进程’选项卡,点‘查看’->''选择列''->加上''PID'',就可以了。当然还有其他很好的选项。
三、参考资料:
article:http://elf8848.iteye.com/blog/442806
jps:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jps.html
jstat:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstat.html
jmap:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jmap.html
jconsole:http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Java 自带的性能监控工具使用简介 Java 自带的性能监控工具使用简介 jconsole 和 VisualVM 是 Java 自带的性能监控工具,能够帮助开发者监控和优化 Java 应用程序的性能。 VisualVM VisualVM 是 Java 6 自带的...
Java提供了一系列内置工具,方便开发者监控JVM运行状态。以下是对这些工具的详细介绍: 1. **jps(Java Process Status)** `jps`命令是Java的一个实用工具,类似于Linux的`ps`命令,用于查看当前系统中运行的Java...
Java监控工具是用于跟踪和分析Java应用程序性能的关键组件。这些工具可以帮助开发者、系统管理员和运维人员深入了解应用程序的运行状况,及时发现并解决性能问题。在Java生态系统中,有许多优秀的监控工具,它们提供...
2. **Swing/AWT**:对于GUI界面的设计,可以使用Java自带的Swing或AWT库来构建用户友好的图形界面,便于用户操作和查看监控数据。 3. **多线程**:由于监控程序需要同时处理多个任务(如监听网络连接、收集系统信息...
2. **JConsole**: JConsole是Java SDK自带的一个可视化监控工具,它可以连接到本地或远程的JVM,显示关于内存、线程、类加载、垃圾回收等关键信息。开发者可以使用JConsole来监控JSN数据。 3. **VisualVM**: 另一个...
4. **JConsole**: JConsole是Java平台自带的监控和管理工具,可以用来监视JVM的内存、线程、类加载、Garbage Collection等状态,帮助开发者理解应用的运行状况。 5. **IntelliJ IDEA 内置优化功能**: IntelliJ IDEA...
java监控工具源码-可集成到项目使用 内存状态、CPU负载、磁盘IO吞吐率、磁盘健康状态、网卡IO 监控 适合用于服务健康监控、线上调优、排查问题、性能测试等场景 支持操作系统监控:内存状态、CPU负载、磁盘IO及吞吐...
- JConsole:Java自带的图形化监控工具,可以查看JVM内存、线程、类加载、垃圾回收等信息。 - VisualVM:集成了多种JDK自带的诊断工具,提供更丰富的性能数据,如CPU、内存、线程快照等。 - JProfiler:一款强大...
### JAVA JVM性能调优监控工具详解 在Java开发过程中,特别是在企业级应用中,经常会遇到各种性能瓶颈问题,如内存溢出(`OutOfMemoryError`)、内存泄露、线程死锁、锁争用等问题。这些问题如果不能及时有效地解决...
分析ThreadDump的工具有许多,如jstack(Java自带)、VisualVM或者开源工具如AsyncDebug。这些工具可以将复杂的线程信息转换为易于理解的形式,帮助我们快速定位并解决问题。 总的来说,"java排障工具"提供的这三个...
它提供了管理、监控和调试Derby数据库的工具,使得开发过程更加高效。 在使用Derby时,开发者需要注意的一些关键点包括:数据安全、备份与恢复策略、性能优化以及错误处理。例如,Derby允许设置不同的安全级别,...
1. **JConsole**: JConsole是Java自带的可视化监控工具,它可以显示JVM的各种信息,包括线程的详细状态、CPU使用率等。通过JMX(Java Management Extensions)接口,开发者可以远程监控应用的线程情况。 2. **...
首先,我们要了解JDK自带的一些监控工具。`jconsole`是一个图形化的JVM监控工具,可以实时查看内存、线程、类加载等信息,以及进行简单的性能调整。`jvisualvm`是另一个强大的多合一工具,除了基本的监控功能,还...
例如,`VisualVM`和`JConsole`是两款常用的JVM内置监控工具。 2. **日志监控**:日志记录是了解应用程序运行情况的重要手段。Java中常用的日志框架有Log4j、Logback和SLF4J,它们允许开发者设置不同的日志级别,如...
5. **JConsole**:另一款由JDK提供的图形化监控工具,也支持通过JMX连接远程Java应用。它可以显示应用程序的内存、线程、类加载、Garbage Collection等信息。 6. **JMX代理(JMX Agents)**:有时,为了安全或网络...
Jconsole是JDK自带的监控工具,可以对Java应用程序进行监控。本文将介绍通过Jconsole工具对Java应用程序进行监控,包括环境准备、操作步骤和监控内容等。 环境准备 要使用Jconsole对Java应用程序进行监控,需要在...
本文将深入探讨Java运行时监控的相关知识点,结合提供的压缩包文件(可能包含源码、工具或其他相关资源),我们将一起探索如何有效地监控Java应用。 1. **JVM监控基础** - **JMX (Java Management Extensions)**: ...
Java自带的工具 Java自带了许多诊断工具,例如JConsole、JVisualVM、jmap、jstack、jcmd等。这些工具都是非常常用的工具,它们可以帮助开发人员诊断Java应用程序的性能问题。其中,JConsole和JVisualVM是图形化工具...
2. JConsole:同样是JDK自带的监控工具,提供了GUI界面来监视Java应用程序的性能和资源使用情况。 3. VisualVM:功能更加强大的Java性能分析工具,可以远程连接到Java应用进行监控。 4. YourKit Java Profiler:商业...