jps
与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显 示他们的进程号。基本上只用这些功能,其他请看:
http://java.sun.com/javase/6/docs/technotes/tools/share/jps.html
jstat
显示加载class的数量,及所占空间等信息
jstat -class 21806
Loaded Bytes Unloaded Bytes Time
10749 12432.3 95 82.9 4.41
需要特别注意的是:Time: Time spent performing class load and unload operations.
具体含义请看:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstat.html
显示VM实时编译的数量等信息。
jstat -compiler 21806
Compiled Failed Invalid Time FailedType FailedMethod
1455 0 0 27.50 0
stat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
jstat -gc 21806
S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT
32768.0 32768.0 0.0 861.3 262144.0 213535.8 720896.0 74031.5 98304.0 55388.5 15 1.524 3 1.086 2.610
具体查看:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstat.html
本人关心:
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.
gc 最基本的概念就是回收垃圾。
jdk默认的gc有两种,young gc 和full gc.
经验:gc一天最好不要超过48次,ull GC频率 平均大约半小时1次。
具体:young gc 的帮助:http://java.sun.com/docs/hotspot/gc1.4.2/faq.html
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每三行显示一下标题。
jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用方法 jmap -histo pid。如果连用SHELL jmap -histo pid>a.log可以将其保存到文本中去,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。jmap -dump:format=b,file=String 3024可以将3024进程的内存heap输出出来到String文件里。
jinfo:的用处比较简单,就是能输出并修改运行时的java进程的运行参数。用法是jinfo -opt pid 如:查看2788的MaxPerm大小可以用 jinfo -flag MaxPermSize 2788。
jconsole是一个用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。由于是GUI程序,这里就不详细介绍了,不会的地方可以参考SUN的官方文档。
使用方法:命令行里打 jconsole,选则进程就可以了。
以下是这些工具的SUN官方说明:
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
分享到:
相关推荐
本文将详细介绍 JDK 自带的几个核心 VM 分析工具:jps、jstat、jmap 和 jconsole,并探讨它们各自的功能及应用场景。 #### jps - 查看运行中的 Java 进程 **jps** 类似于 Unix/Linux 系统中的 `ps` 命令,用于列出...
以上工具的使用通常需要与相应的帮助文档配合,如`java.chm`可能包含了JDK的综合帮助文档,而`jstat - Java Virtual Machine Statistics Monitoring Tool.htm`、`jps - Java Virtual Machine Process Status Tool....
本文将介绍五种JVM监控工具:jstack、jconsole、jinfo、jmap和jdb。 jstack jstack是一款命令行工具,用于生成Java应用程序的崩溃dump文件的信息。该工具可以attach到正在运行的Java应用程序中,查看当前运行的...
### JDK内置工具使用技巧详解 #### 一、引言 JDK(Java Development Kit)作为Java编程语言的核心组件,不仅提供了必要的编译、调试及文档工具,还配备了一系列用于监控和诊断应用程序运行状态的工具。本文将详细...
本文将深入探讨六种关键的JVM监控工具——`jstack`, `jconsole`, `jinfo`, `jmap`, `jdb`, `jstat`——它们各自的功能、应用场景及如何帮助开发者和运维人员诊断并解决JVM中的复杂问题。 #### 1. jstack —— Java ...
本文将深入解析JDK中的一些核心命令,帮助开发者更好地理解和利用这些工具。 ### 1. `javac` 命令 `javac` 是Java的编译器,用于将源代码(`.java` 文件)转换为字节码(`.class` 文件)。例如,要编译名为`Hello...
为了有效地监控和调试Java应用程序,Oracle JDK提供了多种强大的命令行工具,如jconsole、jmap、jstat等。下面将详细解释这些工具的功能和使用场景。 1. **jstack**: jstack是一种用于生成Java线程堆栈跟踪的工具...
- 接下来,使用`alternatives`命令为每一个需要切换的JDK命令创建链接。例如,对于`javac`命令,可以使用以下命令创建链接: ```bash /usr/sbin/alternatives --install /usr/bin/javac javac /opt/jdk1.6.0_11/...
它包含的工具如jps、jstat、jmap、jinfo、jstack和JConsole,都是JDK的标准组成部分,帮助开发者深入理解JVM的内存状态。 1. **jps (Java Virtual Machine Process Status Tool)** 类似于Unix系统中的`ps`命令,...
Linux平台上的Java Development Kit(JDK)是Java编程语言的核心组件,它包含了编译、调试、性能分析等工具,使得开发者能够在Linux系统上编写、测试和运行Java应用程序。本资源为"linux x86 jdk 1.8",特别针对32位...
9. **其他实用工具**:如appletviewer、extcheck、idlj、jar、jarsigner、jarsigner.bat、java-rmi.cgi、jconsole、jdb、jhat、jinfo、jnlp、jmap、jmc、jps、jrunscript、jsadebugd、jstack、jstat、jstatd、...
JDK的`jps`、`jstat`、`jmap`、`jhat`等工具是Java性能监控和诊断的利器。例如,`jps`可以列出正在运行的Java进程,`jstat`可以收集JVM的统计信息,而`jhat`则用于分析堆转储文件,这些都是优化Java应用程序性能的...
JDK自带的监控和分析工具包括但不限于以下几种: 1. jstatd:是一个监控服务,它在目标机器上创建一个RMI(远程方法调用)注册表,并使用这个注册表来监听JVM进程的创建和终止。其他工具如jvisualvm可通过它来远程...
- **jps**、**jinfo**、**jstat**和**jstack**:系统监控和诊断工具,提供进程状态、配置信息、统计信息和线程堆栈跟踪。 **总结** JDK V1.8.0u172是Java 8的一个重要更新,它的API规范、新功能以及丰富的开发工具...
JDK 5.0引入的新工具极大地简化了Java应用程序的调试过程,尤其是jps和jstat这两个工具,在日常开发中极为实用。通过这些工具,开发者可以更轻松地诊断问题、优化性能并提高应用的整体稳定性。对于从事Java开发的...
7. **其他工具**:如appletviewer、apt、extcheck、idlj、jarsigner、jconsole、jdb、jdwp、jhat、jinfo、jmap、jmc、jps、jrunscript、jstack、jstat、jstatd等,它们提供了各种附加功能,如性能监控、内存分析等。...
jvisualvm是另一个功能强大的Java应用性能分析工具,集成了多种JDK工具的功能,如jconsole、jstack、jmap等,提供了一个统一的可视化界面。 了解并熟练运用这些JVM工具,可以帮助开发者和运维人员更好地理解Tomcat...
Java2语言命令主要指Java Development Kit (JDK) 提供的一系列命令行工具,它们在Java程序的编译、运行、调试以及性能分析等环节发挥着关键作用。本文将深入探讨这些命令的使用方法和应用场景。 1. **javac** - ...
1. **JVM内置工具**:Java虚拟机(JVM)提供了多种内置的诊断工具,如`jps`(Java进程状态工具)、`jstat`(Java统计监视工具)、`jinfo`(配置信息工具)、`jmap`(映射工具)、`jhat`(堆分析工具)和`jstack`...
10. **jps**,**jstat**,**jinfo**,**jmap**,**jhat**等:这些是用于系统监控和故障排查的命令行工具。 JDK 8的亮点特性包括: 1. **Lambda表达式**:引入函数式编程概念,使得代码更加简洁和高效。 2. **方法...