JVM性能监控与故障处理工具

引言

在 应用服务出现模型的卡顿或者CPU飙升等问题时,总是要分析一下对应的进程的JVM状态以定位问题和解决问题并做出响应的优化,在这个过程中java自带的一些状态监控 命令工具就非常方便了。

 

1、jps:JVM进程状况工具

JDK中很多的小工具都参考 了unix的命名方式,jps 就是其中的典型。除了名称和UNIX中的ps相似之外,功能也和ps命令类似:可以列出正在运行的虚拟机进程,并显示虚拟机执行主类( main class,main()函数所在类)名称及这些进程的 本地虚拟机唯一id。

命令格式:

jps [options] [hostid]

options参数解释:

  • -l:输出主类全名或jar 路
  • -q:只输出LVMD(Local Virtual Machine Identifier , LVMID)
  • -m:输出JVM启动时传递给main()的参数
  • -v:输出JVM启动时显示指定的JVM参数

jps执行样例:

 

2、jstat:JVM统计信息监控工具

jstat命令式使用比较频繁的命令,主要用来显示 本地或者远程虚拟机中类装载、内存、垃圾收集、JIT编译等运行数据。 在没有GUI图形界面,只提供了纯文本的控制台环境的服务器上,它将是运行期间定位虚拟机性能问题的首选工具。

命令格式:

jstat  [option]  LVMID  [interval ] [count]

其中LVMID是进程id,interval是打印间隔时间(毫秒),count是打印次数,如果省略这两个参数,说明只查询一次。

option参数解释:

选项 作用
-class 监视类装载,类卸载,总空间及类装载所消耗的时间
-gc 监视java堆状况,包括Eden区,两个survivor区,老年代,永久代等容量、已经使用空间、GC时间合计信息
-gcutil 监视内容与-gc基本相同,但是输出主要关注已使用空间站总空间的百分比
-gccapacity 监视内容与-gc基本相同,但是输出主要关注java堆各个区域使用到的最大、最小空间
-gccause 与-gcutil功能一样,但是会额外输出导致上一次GC产生的原因
-gcnew 监视新生代的GC状况
-gcnewcapacity 监视内容与-gcnew基本相同,输出主要关注使用到的最大最小空间
-gcold 监视老年代GC状况
-gcoldcapacity

监视内容与-gcold基本相同,输出主要关注使用到的最大、最小空间

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

g-Jack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值