如何查看JVM中内存使用情况如何? JVM垃圾回收是否正常?
一般在Linux系统top命令是无法满足我们需求的.
下面是如何巧用JDK自带工具Jstat来完成这些任务~
在JDK的安装目录中: "Java\jdk1.6.0_10\bin" 找到jstat工具:
jstat 的语法结构:
Usage: jstat -help|-options
jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
参数解释:
Options — 选项,我们一般使用 -gcutil 查看gc情况
vmid — VM的进程号,即当前运行的java进程号
interval-- 间隔时间,单位为秒或者毫秒
count — 打印次数,如果缺省则打印无数次
S0 — Heap上的 Survivor space 0 区已使用空间的百分比
S1 — Heap上的 Survivor space 1 区已使用空间的百分比
E — Heap上的 Eden space 区已使用空间的百分比
O — Heap上的 Old space 区已使用空间的百分比
P — Perm space 区已使用空间的百分比
YGC — 从应用程序启动到采样时发生 Young GC 的次数
YGCT-- 从应用程序启动到采样时 Young GC 所用的时间(单位秒)
FGC — 从应用程序启动到采样时发生 Full GC 的次数
FGCT-- 从应用程序启动到采样时 Full GC 所用的时间(单位秒)
GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)
实例1:
D:\Program Files\Java\jdk1.6.0_10\bin>jstat -gcutil 7020 1000 5
S0 S1 E O P YGC YGCT FGC FGCT GCT
0.00 100.00 69.21 60.22 99.69 279 0.552 11 1.117 1.669
0.00 100.00 70.24 60.22 99.69 279 0.552 11 1.117 1.669
0.00 100.00 71.26 60.22 99.69 279 0.552 11 1.117 1.669
0.00 100.00 71.26 60.22 99.69 279 0.552 11 1.117 1.669
0.00 100.00 72.29 60.22 99.70 279 0.552 11 1.117 1.669
以上实例是在Windows系统下测试的,当时只开了Resin服务器,没访问应用下的情况;
7020 是Java的进程PID, 1000是每隔1秒打印一次,一共打印5次.如果无没传5参数,则会一直输出打印.
还没写完,待续....
分享到:
相关推荐
`jstat`的选项丰富,可以根据不同需求查询特定的数据,例如`jstat -gc <pid>`可以显示垃圾回收的详细统计数据。 5. `jinfo`:这个工具用于获取Java进程的配置信息,包括JVM参数、系统属性等。`jinfo -flags <pid>`...
本文将详细介绍 JDK 自带的几个核心 VM 分析工具:jps、jstat、jmap 和 jconsole,并探讨它们各自的功能及应用场景。 #### jps - 查看运行中的 Java 进程 **jps** 类似于 Unix/Linux 系统中的 `ps` 命令,用于列出...
jstat工具是JDK自带的一个轻量级监控工具,它的使用不需要安装额外的软件包,只需要在命令行中执行相应的命令即可。通过jstat,开发者可以快速地了解JVM的运行状况,对于性能调优和问题诊断都有着重要的作用。
JDK 工具之 jstat 命令可以监测 Java 应用程序的实时运行情况,包括堆内存信息以及垃圾回收信息。 jstat 命令可以查看一些关键参数信息,例如-class、-compiler、-gc、-gccapacity、-gcmetacapacity 等。通过 ...
此外,监控Java应用的性能可以通过`jstat`、`jmap`、`jstack`等JDK自带的工具进行。 对于源码软件的开发和部署,JDK 1.8提供了丰富的API和工具。例如,你可以使用Java编译器(`javac`)编译源代码,使用Javadoc生成...
3. 终端命令监控(Terminal Command Monitoring):通过执行特定的命令,例如使用jps、jmap、jstack、jinfo、jstat等JDK自带工具,可以获取Java虚拟机(JVM)的运行状态信息。 4. 内存分析工具(Memory Analysis ...
这涉及到使用JDK自带的工具如`jstat`、`jmap`、`jhat`和`jfr`(Java飞行记录器)等。 4. **垃圾回收**:垃圾回收是Java性能管理的重要方面,指南提供了关于不同垃圾收集器的详细信息,如G1、Shenandoah、ZGC等,...
1. **JDK自带工具说明.doc**:这个文档可能包含了JDK提供的各种工具,如`jps`(Java进程查看器)、`jstat`(统计JVM各种运行时数据)、`jinfo`(配置JVM参数)、`jmap`(映射内存到文件)、`jhat`(分析堆转储文件)...
- **JConsole**:JDK自带的GUI工具,监控JVM的性能和内存。 - **JMX(Java Management Extensions)**:允许远程监控和管理JVM。 - **VisualGC**:配合JVisualVM使用,可视化GC过程。 - **JFR(Java Flight ...
3. **分析数据**:使用JDK自带的工具或第三方工具来分析生成的数据文件。 #### 三、jcmd工具 jcmd是一种非常强大的命令行工具,用于向正在运行的Java进程发送指令。它支持的操作包括但不限于触发GC、查看JVM参数、...
另外,JDK自带的`jmap`、`jstat`和`jinfo`等命令行工具,可以帮助开发者深入了解JVM的运行情况。例如,`jmap -histo`可显示堆内存中对象的数量和大小分布,`jstat`可以获取垃圾收集统计信息。 为了优化内存使用和...
- **功能介绍**:`jconsole`是JDK自带的一个GUI工具,用于监控JVM的运行状态。 - **主要功能**: - 监控JVM内存使用情况。 - 查看垃圾收集器的状态。 - 查看线程信息。 ##### 9. Memory Analyzer Tool(MAT)...
JDK自带了一系列强大的诊断工具,如jps(Java进程查看器)、jstat(统计信息工具)、jinfo(配置信息工具)、jmap(内存映射工具)、jhat(堆转储分析工具)和jstack(线程堆栈跟踪工具)。熟练掌握这些工具的使用,...
4. **jstat详解**:jstat是JDK自带的命令行工具,用于收集JVM的各种统计信息,包括类装载、内存、垃圾收集、JIT编译等。通过定期执行jstat,开发者可以分析应用的内存使用模式、垃圾收集效率等,从而判断是否需要...
管理员可以使用JConsole、VisualVM等JDK自带的工具连接到Tomcat的JMX端口,查看和操作各种监控数据。 2. **管理界面**: Tomcat默认开启了一个管理Web应用,通过访问`http://localhost:8080/manager/html`(需配置...
JConsole也是JDK自带的一款监控工具,它可以显示运行时的各种统计数据,如类装载信息、内存使用情况、线程信息等,并且支持远程连接进行监控。 **4.3 jstat** jstat是一个命令行工具,用于收集JVM的实时性能数据,...
4. **JDK工具**:Java Development Kit(JDK)自带了一系列命令行工具,如`jps`(Java进程查看器)、`jstat`(JVM统计监测工具)、`jinfo`(配置信息工具)、`jmap`(内存映射工具)和`jhat`(JVM堆分析工具)。...
6. **性能监控与诊断**:使用JDK自带的JVisualVM、JConsole、jinfo、jstat等工具进行性能监控和诊断,理解这些工具的功能和使用方法。 7. **线程与并发**:JVM如何管理线程,线程池的使用,以及Java内存模型(JMM)...
7. **实战经验**:书中不仅理论知识丰富,还包含大量实际案例和最佳实践,如监控工具的使用(如VisualVM、JProfiler)、性能瓶颈的定位方法、JDK自带的性能分析工具(如jmap、jstat)等,帮助读者将理论知识转化为...
最近项目中出现了这样一个问题,有5台虚机上面运行...2.查看需要监控进程垃圾回收情况,内存使用情况,这里主要看有没有full gc jstat -gcutil 20954 1000 3.查看内存对应映射存活情况,这里主要查看对应的java进程有