JVM 常用工具 - 持续更新中

1.jps

查看当前运行在系统中的Java程序。

2.jstat工具主要功能

选项作用
-class监视类加载、卸载数量、总空间以及类装在所耗费时间。
-gc        监视Java堆状况,包括Eden区、两个survivor、老年代、永久代等的容量,已经使用空间,垃圾收集时间合计等信息。
-gccapacity输出Java堆各区域使用到最大、最小空间。
-gccause输出导致上一次垃圾收集原因。
-gcmetacapacity永久代使用最大最小空间
-gcnew监视新生代垃圾收集情况
-gcnewcapacity关注新生代使用到最大最小空间
-gcold监视老年代垃圾收集情况
-gcoldcapacity关注老年代使用到最大最小空间
-gcutil输出已使用空间占总空间的百分比
-printcompilation   输出已经被即时编译器编译的方法
-compiler输出即时编译器编译过的方法、耗时等信息

3.jinfo

主要作用为实时查看和调整虚拟机各项参数。

4.jmap工具

选项作用
-dump生成Java堆转存储快照。
-finalizerinfo显示在F-Queue中等待Finalizer线程执行finalize方法对象。只要liunx/soloris平台下生效
-histo显示堆中对象统计信息,包括类、实例数量、合计容量
-heap显示Java堆详细信息。只要liunx/soloris平台下生效
-permstat以classloader为统计口径显示永久代内存状况。只要liunx/soloris平台下生效
-F当虚拟机进程堆-dump吴响应时,可是用此选项强制生成dump快照。只要liunx/soloris平台下生效

5.jhat

JDK提供jhatJVM Heap Analysis Tool)命令 与jmap搭配使用,来分析jmap生成的堆转储快照。 jhat内置了一个微型的HTTP/Web服务器,生成堆转 储快照的分析结果后,可以在浏览器中查看。

6.jstack

jstackStack Trace for Java)命令用于生成虚拟机当前时刻的线程快照 (一般称为threaddump或者javacore文件)。线程快照就是当前虚拟机内每 一条线程正在执行的方法堆栈的集合,生成线程快照的目的通常是定位线程 出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时 间挂起等,都是导致线程长时间停顿的常见原因。线程出现停顿时通过jstack 来查看各个线程的调用堆栈,就可以获知没有响应的线程到底在后台做些什 么事情,或者等待着什么资源。

选项作用
-F                当正常输出的请求不被响应式,强制输出线程堆栈
-l除堆栈外,显示关于锁的附加信息
-m如果调用到本地方法的话,可以显示c/c++堆栈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值