jdk内置工具(二)

本文介绍了三个重要的Java诊断工具:jinfo、jmap和jstack。详细讲解了它们的作用、命令格式及常用参数,帮助读者更好地理解和使用这些工具来解决Java应用中的问题。

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

1. jinfo java配置信息工具

作用: 实时查看额调整虚拟机的各项参数。使用jps -v可以查看虚拟机启动时显式指定的参数列表,但如果想知道未被显式指定的参数的系统默认值除了查资料就只能使用jinfo的-flag选项进行查询。

命令格式: jinfo [option] pid


查看CMSInitationgOccupancyFraction: jinfo -flag CMSInitatingOccupancyFraction 1234


2.jmap java内存映像工具

作用: 用于生成堆转储快照, 即打印出某个java进程(使用pid)内存内的,所有对象的情况(如:产生那些对象,及其数量)。

基本参数:

-dump:[live,]format=b,file=<filename>使用hprof二进制形式,输出jvmheap内容到文件=.live子选项是可选的,假如指定live选项,那么只输出活的对象到文件.

-finalizerinfo打印正等候回收的对象的信息.

-heap打印heap的概要信息,GC使用的算法,heap的配置及wiseheap的使用情况.

-histo[:live]打印每个class的实例数目,内存占用,类全名信息.VM的内部类名字开头会加上前缀”*.如果live子参数加上后,只统计活的对象数量.

-permstat打印classloadjvmheap长久层的信息.包含每个classloader的名字,活泼性,地址,classloader和加载的class数量.另外,内部String的数量和占用内存数也会打印出来.

-F强迫.pid没有相应的时候使用-dump或者-histo参数.在这个模式下,live子参数无效.

-h|-help打印辅助信息

-J传递参数给jmap启动的jvm.

jmap-histo 4321

jmap-dump:format=b,file=test.bin4321


3. jstack java堆栈跟踪工具

用于生成虚拟机当前时刻的线程快照。线程快照即当前虚拟机内每一条现成正在执行的方法堆栈的 集合。生成线程快照的目的是为了定位线程长时间停顿的原因。

命令格式: jstack [option] vmid

-F’jstack[-l]pid’没有相应的时候强制打印栈信息

-l长列表.打印关于锁的附加信息,例如属于java.util.concurrentownablesynchronizers列表.

-m打印javanativec/c++框架的所有栈信息.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值