巧用JDK自带工具Jstat查看Gc垃圾回收之使用方法

本文介绍了如何利用JDK自带工具Jstat来查看JVM内存使用情况和垃圾回收状态,提供了详细的语法结构和参数解释,通过实例展示了在不同场景下的应用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何查看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参数,则会一直输出打印.

[b]还没写完,待续....[/b]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值