设为首页
优惠IDC
收藏本站
六狼博客
六狼论坛
开启辅助访问
切换到窄版
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
只需一步,快速开始
快捷导航
门户
首页
BBS
云计算
大数据
手机
移动开发android,ios,windows phone,windows mobile
编程
编程技术java,php,python,delphi,ruby,c,c++
前端
WEB前端htmlcss,javascript,jquery,html5
数据库
数据库开发Access,mysql,oracle,sql server,MongoDB
系统
操作系统windows,linux,unix,os,RedHat,tomcat
架构
项目管理
软件设计,架构设计,面向对象,设计模式,项目管理
企业
服务
运维实战
神马
搜索
搜索
热搜:
php
java
python
ruby
hadoop
sphinx
solr
ios
android
windows
centos
本版
帖子
用户
六狼论坛
»
首页
›
编程技术
›
C
›
jstat命令(Java Virtual Machine Statistics Monitoring ...
返回列表
查看:
38
|
回复:
0
jstat命令(Java Virtual Machine Statistics Monitoring Tool)
[复制链接]
javayestome
javayestome
当前离线
积分
2447
窥视卡
雷达卡
升级
72.35%
当前用户组为
探花
当前积分为
2447
, 升到下一级还需要 553 点。
801
主题
801
主题
801
主题
探花
探花, 积分 2447, 距离下一级还需 553 积分
探花, 积分 2447, 距离下一级还需 553 积分
积分
2447
发消息
楼主
|
发表于 2013-1-26 14:10:34
|
显示全部楼层
|
阅读模式
JDK内置工具使用
一、
javah
命令
(CHeaderandStubFileGenerator)
二、
jps
命令
(JavaVirtualMachineProcessStatusTool)
三、
jstack
命令
(JavaStackTrace)
四、
jstat
命令
(JavaVirtualMachineStatisticsMonitoringTool)
五、
jmap
命令
(JavaMemoryMap)
六、
jinfo
命令
(JavaConfigurationInfo)
七、
jconsole
命令
(JavaMonitoringandManagementConsole)
八、
jvisualvm
命令
(JavaVirtualMachineMonitoring,Troubleshooting,andProfilingTool)
九、
jhat
命令
(JavaHeapAnalyseTool)
十、
Jdb
命令
(TheJavaDebugger)
1、介绍
Jstat是
JDK
自带的一个轻量级小工具。全称
“JavaVirtualMachinestatisticsmonitoringtool”
,它位于
java
的
bin
目录下,主要利用
JVM
内建的指令对
Java
应用程序的资源和性能进行实时的命令行的监控,包括了对
Heapsize
和垃圾回收状况的监控。可见,
Jstat
是轻量级的、专门针对
JVM
的工具,非常适用。由于
JVM
内存设置较大,图中百分比变化不太明显一个极强的监视
VM
内存工具。可以用来监视
VM
内存内的各种堆和非堆的大小及其内存使用量。
jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程
id
,和所选参数。
它主要是用来显示
GC及
PermGen
相关的信息,如果对
GC不怎么了解,先看这篇文章:
http://blog.csdn.net/fenglibing/archive/2011/04/13/6321453.aspx
,否则其中即使你会使用
jstat
这个命令,你也看不懂它的输出。
2、命令格式
jstat[generalOption|outputOptionsvmid[interval[s|ms][count]]]
3、参数说明
1)、
generalOption
:单个的常用的命令行选项,如
-help,-options,
或
-version
。
2)、
outputOptions
:一个或多个输出选项,由单个的
statOption
选项组件,可以
-t,-h,and-J
选项配合使用。
statOption:
-classOption
-compilerOption
-gcOption
-gccapacityOption
-gccauseOption
-gcnewOption
-gcnewcapacityOption
-gcoldOption
-gcoldcapacityOption
-gcpermcapacityOption
-gcutilOption
-printcompilationOption
注:其中最常用的就是
-gcutil
选项了,因为他能够给我们展示大致的
GC
信息。
Option
:指的是
vmid
、显示间隔时间及间隔次数等
vmid
—
VM
的进程号,即当前运行的
java
进程号
interval
–
间隔时间,单位为秒或者毫秒
count
—
打印次数,如果缺省则打印无数次
3)、
jstat
命令输出参数说明
S0—Heap上的
Survivorspace0
区已使用空间的百分比
S0C
:
S0当前容量的大小
S0U
:
S0已经使用的大小
S1—Heap上的
Survivorspace1
区已使用空间的百分比
S
1
C
:
S1当前容量的大小
S
1
U
:
S1已经使用的大小
E—Heap上的
Edenspace
区已使用空间的百分比
E
C
:
Edenspace
当前容量的大小
E
U
:
Edenspace
已经使用的大小
O—Heap上的
Oldspace
区已使用空间的百分比
O
C
:
Old
space
当前容量的大小
O
U
:
Old
space
已经使用的大小
P—Permspace区已使用空间的百分比
O
C
:
Permspace
当前容量的大小
O
U
:
Permspace
已经使用的大小
YGC—从应用程序启动到采样时发生
YoungGC
的次数
YGCT–从应用程序启动到采样时
YoungGC
所用的时间
(
单位秒
)
FGC—从应用程序启动到采样时发生
FullGC
的次数
FGCT–从应用程序启动到采样时
FullGC
所用的时间
(
单位秒
)
GCT—从应用程序启动到采样时用于垃圾回收的总时间
(
单位秒
)
,它的值等于
YGC+FGC
4、使用示例
示例
1
)、
示例
2
)
:
图中同时打印了
younggc
和
fullgc
的总次数、总耗时。而,每次
younggc
消耗的时间,可以用相间隔的两行
YGCT
相减得到。每次
fullgc
消耗的时间,可以用相隔的两行
FGCT
相减得到。例如红框中表示的第一行、第二行之间发生了
1
次
younggc
,消耗的时间为
0.252-0.252
=
0.0
秒。
常驻内存区
(P)
的使用率,始终停留在
64.21%
左右,说明常驻内存没有突变,比较正常。如果
younggc
和
fullgc
能够正常发生,而且都能有效回收内存,常驻内存区变化不明显,则说明
java
内存释放情况正常,垃圾回收及时,
java
内存泄露的几率就会大大降低。但也不能说明一定没有内存泄露。
示例
3)、
以上,介绍了
Jstat
按百分比查看
gc
情况的功能。其实,它还有功能,例如加载类信息统计功能、内存池信息统计功能等,那些是以绝对值的形式打印出来的,比较少用,在此就不做介绍。
示例
4)、
jstat-classpid:显示加载
class
的数量,及所占空间等信息。
示例
5)、
jstat-compilerpid:显示
VM
实时编译的数量等信息。
示例就不一一例举,有兴趣的可以自己尝试尝试。
<!--EndFragment-->
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
C++
Html/Css
Copyright © 2008-2020
六狼论坛
(https://it.6wolf.com) 版权所有 All Rights Reserved.
Powered by
Discuz!
X3.4
京ICP备14020293号-2
本网站内容均收集于互联网,如有问题请联系
QQ:389897944
予以删除
快速回复
返回顶部
返回列表