zoukankan      html  css  js  c++  java
  • JDK 部分工具使用方法

    javap.exe

    javap是一个Java类文件反汇编程序,可以查看Java编译器生成的字节码,是分析代码的一个好工具。

    1、javac xx.java
    2、javap -c xx      or    javap xx
    

      

    jvisualvm

    jvisualvm是一个Java虚拟机监控和分析工具,该工具提供了一个图形界面窗口,并且可以直观的了解Java应用程序的运行时信息。jvisualvm集成了许多工具,比如像jmp、jinfo、jstat、jstack、JConsole等。

    jstat

    -class:统计class loader行为信息 
    -compile:统计编译行为信息 
    -gc:统计jdk gc时heap信息 
    -gccapacity:统计不同的generations(包括新生区,老年区,permanent区)相应的heap容量情况 
    -gccause:统计gc的情况,(同-gcutil)和引起gc的事件 
    -gcnew:统计gc时,新生代的情况 
    -gcnewcapacity:统计gc时,新生代heap容量 
    -gcold:统计gc时,老年区的情况 
    -gcoldcapacity:统计gc时,老年区heap容量 
    -gcpermcapacity:统计gc时,permanent区heap容量 
    -gcutil:统计gc时,heap情况 
    -printcompilation:不知道干什么的,一直没用过。 
    一般比较常用的几个用法: 

    jstat -class 18212 1000 10(每隔1秒监控一次,一共做10次)

      Loaded:Number of classes loaded.

      Bytes:Number of Kbytes loaded.

      Unloaded:Number of classes unloaded.

      Bytes:Number of Kbytes unloaded.

      Time:Time spent performing class load and unload operations.



    jstat -gc 18212 2000 20 (每隔2秒监控一次,共20次)

      S0C:Current survivor space 0 capacity (KB).

      S1C:Current survivor space 1 capacity (KB).

      S0U:Current survivor space 0 utilization (KB).

      S1U:Current survivor space 1 utilization (KB).

      EC:Current eden space capacity (KB).

      EU:Eden space utilization (KB).

      OC:Current old space capacity (KB).

      OU:Old space utilization (KB).

      PC:Current permanent space capacity (KB).

      PU:Permanent space utilization (KB).

      YGC:Number of young generation GC Events.

      YGCT:Young generation garbage collection time.

      FGC:Number of full GC events.

      FGCT:Full garbage collection time.

      GCT:Total garbage collection time.

    jstat -gcutil 18212 1000 10 (按百分比显式) 

    jstat -compiler 18212 (显示VM实时编译的数量等信息) 
    jstat –gccapacity :可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。其他的可以根据这个类推, OC是old内纯的占用量。

     jstat -gcnew 18212 (new对象数)

      

    jstack

    jstack 18212 (linux下特有)

    jstack:可以观察到jvm中当前所有线程的运行情况和线程当前状态

    jstack是非常有用的。命令格式:jstack 进程pid
                  当程序出现死锁的时候,使用命令:jstack 进程ID > jstack.log,然后在jstack.log文件中,搜索关键字“BLOCKED”,定位到引起死锁的地方。

    jconsole

    jconsole – jconsole是基于Java Management Extensions (JMX)的实时图形化监测工具,这个工具利用了内建到JVM里面的JMX指令来提供实时的性能和资源的监控,包括了Java 程序的内存使用,Heap size, 线程的状态,类的分配状态和空间使用等等。

    jmap – jmap 可以从core文件或进程中获得内存的具体匹配情况,包括Heap size, Perm size等等,目前只有在Solaris和Linux的JDK版本里面才有。

    jmap (linux下特有,也是很常用的一个命令)
    观察运行中的jvm物理内存的占用情况。
    参数如下:
    -heap
     :打印jvm heap的情况
    -histo: 打印jvm heap的直方图。其输出信息包括类名,对象数量,对象占用大小。
    -histo:live : 同上,但是只答应存活对象的情况
    -permstat: 打印permanent generation heap情况

  • 相关阅读:
    Sample XPS Documents Download
    触发器中的inserted表和deleted表
    Using freewheel.labs.autodesk.com to auto generate preview images of DWF files on your web site
    解除SQL对组件"Ad Hoc Distributed Queries"的"STATEMENT'OpenRowset OpenDatasource"的访问
    读写xps
    XPS文件,在Windows XP下的打开查看阅读和打印方法。
    Learning to Reference Inserted and Deleted Tables
    Get value from updated, inserted and deleted
    Reinstall Microsoft Helper Viewer
    如何查找文件的IFilter
  • 原文地址:https://www.cnblogs.com/binbang/p/6393553.html
Copyright © 2011-2022 走看看