`
qindongliang1922
  • 浏览: 2171139 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117077
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125422
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59491
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71017
社区版块
存档分类
最新评论

JAVA自带的监控工具

    博客分类:
  • JAVA
 
阅读更多
一、概述

    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      
分享到:
评论

相关推荐

    Java自带的性能监控工具使用简介

    Java 自带的性能监控工具使用简介 Java 自带的性能监控工具使用简介 jconsole 和 VisualVM 是 Java 自带的性能监控工具,能够帮助开发者监控和优化 Java 应用程序的性能。 VisualVM VisualVM 是 Java 6 自带的...

    使用java自带工具监控jvm运行状态

    Java提供了一系列内置工具,方便开发者监控JVM运行状态。以下是对这些工具的详细介绍: 1. **jps(Java Process Status)** `jps`命令是Java的一个实用工具,类似于Linux的`ps`命令,用于查看当前系统中运行的Java...

    java监控工具

    Java监控工具是用于跟踪和分析Java应用程序性能的关键组件。这些工具可以帮助开发者、系统管理员和运维人员深入了解应用程序的运行状况,及时发现并解决性能问题。在Java生态系统中,有许多优秀的监控工具,它们提供...

    java桌面监控程序

    2. **Swing/AWT**:对于GUI界面的设计,可以使用Java自带的Swing或AWT库来构建用户友好的图形界面,便于用户操作和查看监控数据。 3. **多线程**:由于监控程序需要同时处理多个任务(如监听网络连接、收集系统信息...

    java 远程监控程序JSN

    2. **JConsole**: JConsole是Java SDK自带的一个可视化监控工具,它可以连接到本地或远程的JVM,显示关于内存、线程、类加载、垃圾回收等关键信息。开发者可以使用JConsole来监控JSN数据。 3. **VisualVM**: 另一个...

    JAVA代码优化工具

    4. **JConsole**: JConsole是Java平台自带的监控和管理工具,可以用来监视JVM的内存、线程、类加载、Garbage Collection等状态,帮助开发者理解应用的运行状况。 5. **IntelliJ IDEA 内置优化功能**: IntelliJ IDEA...

    java-虚拟机 操作系统监控工具-源码

    java监控工具源码-可集成到项目使用 内存状态、CPU负载、磁盘IO吞吐率、磁盘健康状态、网卡IO 监控 适合用于服务健康监控、线上调优、排查问题、性能测试等场景 支持操作系统监控:内存状态、CPU负载、磁盘IO及吞吐...

    java监控系统

    - JConsole:Java自带的图形化监控工具,可以查看JVM内存、线程、类加载、垃圾回收等信息。 - VisualVM:集成了多种JDK自带的诊断工具,提供更丰富的性能数据,如CPU、内存、线程快照等。 - JProfiler:一款强大...

    JAVA JVM性能调优监控工具详解

    ### JAVA JVM性能调优监控工具详解 在Java开发过程中,特别是在企业级应用中,经常会遇到各种性能瓶颈问题,如内存溢出(`OutOfMemoryError`)、内存泄露、线程死锁、锁争用等问题。这些问题如果不能及时有效地解决...

    java排障工具

    分析ThreadDump的工具有许多,如jstack(Java自带)、VisualVM或者开源工具如AsyncDebug。这些工具可以将复杂的线程信息转换为易于理解的形式,帮助我们快速定位并解决问题。 总的来说,"java排障工具"提供的这三个...

    Java Diary - JDK自带的java数据库

    它提供了管理、监控和调试Derby数据库的工具,使得开发过程更加高效。 在使用Derby时,开发者需要注意的一些关键点包括:数据安全、备份与恢复策略、性能优化以及错误处理。例如,Derby允许设置不同的安全级别,...

    java 监控线程

    1. **JConsole**: JConsole是Java自带的可视化监控工具,它可以显示JVM的各种信息,包括线程的详细状态、CPU使用率等。通过JMX(Java Management Extensions)接口,开发者可以远程监控应用的线程情况。 2. **...

    Java性能监控与调优Demo,主要学习各种JDK监控工具以及jvm调优-monitor_tuning_Demo.zip

    首先,我们要了解JDK自带的一些监控工具。`jconsole`是一个图形化的JVM监控工具,可以实时查看内存、线程、类加载等信息,以及进行简单的性能调整。`jvisualvm`是另一个强大的多合一工具,除了基本的监控功能,还...

    java做的监控应用实例

    例如,`VisualVM`和`JConsole`是两款常用的JVM内置监控工具。 2. **日志监控**:日志记录是了解应用程序运行情况的重要手段。Java中常用的日志框架有Log4j、Logback和SLF4J,它们允许开发者设置不同的日志级别,如...

    84_Java远程监控系统.zip

    5. **JConsole**:另一款由JDK提供的图形化监控工具,也支持通过JMX连接远程Java应用。它可以显示应用程序的内存、线程、类加载、Garbage Collection等信息。 6. **JMX代理(JMX Agents)**:有时,为了安全或网络...

    Jconsole监控Java应用

    Jconsole是JDK自带的监控工具,可以对Java应用程序进行监控。本文将介绍通过Jconsole工具对Java应用程序进行监控,包括环境准备、操作步骤和监控内容等。 环境准备 要使用Jconsole对Java应用程序进行监控,需要在...

    Java 运行时监控

    本文将深入探讨Java运行时监控的相关知识点,结合提供的压缩包文件(可能包含源码、工具或其他相关资源),我们将一起探索如何有效地监控Java应用。 1. **JVM监控基础** - **JMX (Java Management Extensions)**: ...

    Cubic java应用诊断工具.rar

    Java自带的工具 Java自带了许多诊断工具,例如JConsole、JVisualVM、jmap、jstack、jcmd等。这些工具都是非常常用的工具,它们可以帮助开发人员诊断Java应用程序的性能问题。其中,JConsole和JVisualVM是图形化工具...

    product_swing_java自带log使用_swing皮肤定义_java_

    本文将深入探讨如何在Swing应用中使用Java自带的日志系统(logging API)以及如何自定义Swing界面的皮肤。 一、Java自带日志(logging API)的使用 Java内置的日志API提供了一种灵活且可配置的方式来记录应用程序...

Global site tag (gtag.js) - Google Analytics