一、javah命令(C Header and Stub File Generator)
二、jps命令(Java Virtual Machine Process Status Tool)
三、jstack命令(Java Stack Trace)
- 用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息
- 查看指定java进程的线程信息
jstack [-l] pid
四、jstat命令(Java Virtual Machine Statistics Monitoring Tool)
jstat [ generalOption | outputOptions vmid [interval[s|ms] [count]] ]
- Option Displays...
- class 用于查看类加载情况的统计
- compiler 用于查看HotSpot中即时编译器编译情况的统计
- gc 用于查看JVM中堆的垃圾收集情况的统计
- gccapacity 用于查看新生代、老生代及持久代的存储容量情况
- gccause 用于查看垃圾收集的统计情况(这个和-gcutil选项一样),如果有发生垃圾收集,它还会显示最后一次及当前正在发生垃圾收集的原因。
- gcnew 用于查看新生代垃圾收集的情况
- gcnewcapacity 用于查看新生代的存储容量情况
- gcold 用于查看老生代及持久代发生GC的情况
- gcoldcapacity 用于查看老生代的容量
- gcpermcapacity 用于查看持久代的容量
- gcutil 用于查看新生代、老生代及持代垃圾收集的情况
- printcompilation HotSpot编译方法的统计
五、jmap命令(Java Memory Map) & jhat命令(Java Heap Analyse Tool)
- 手动为PID为21983的进程生成堆快照文件~可用于内存分析
- [root@dev03 ~]# jmap -dump:format=b,file=/srv/heap.hprof 21983
六、jinfo命令(Java Configuration Info)
- jinfo可以输出并修改运行时的java 进程的opts。用处比较简单,用于输出JAVA系统参数及命令行参数。用法是jinfo -opt pid 如:查看2788的MaxPerm大小可以用
jinfo -flag MaxPermSize 2788。
七、jconsole命令(Java Monitoring and Management Console)
jconsole:一个java GUI监视工具,可以以图表化的形式显示各种数据。
[root@localhost bin]# jconsole
八、jvisualvm命令(Java Virtual Machine Monitoring, Troubleshooting, and Profiling Tool)
jvisualvm同jconsole都是一个基于图形化界面的、可以查看本地及远程的JAVA GUI监控工具,Jvisualvm同jconsole的使用方式一样,直接在命令行打入Jvisualvm即可启动,不过Jvisualvm相比,界面更美观一些,数据更实时.