您的位置:首页 > 编程语言 > Java开发

jdk内置工具(二)

2012-12-31 11:35 211 查看

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二进制形式,输出jvm的heap内容到文件=. live子选项是可选的,假如指定live选项,那么只输出活的对象到文件.
-finalizerinfo 打印正等候回收的对象的信息.
-heap 打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用情况.
-histo[:live] 打印每个class的实例数目,内存占用,类全名信息. VM的内部类名字开头会加上前缀”*”. 如果live子参数加上后,只统计活的对象数量.
-permstat 打印classload和jvm heap长久层的信息. 包含每个classloader的名字,活泼性,地址,父classloader和加载的class数量. 另外,内部String的数量和占用内存数也会打印出来.
-F 强迫.在pid没有相应的时候使用-dump或者-histo参数. 在这个模式下,live子参数无效.
-h | -help 打印辅助信息
-J 传递参数给jmap启动的jvm.

jmap -histo 4321
jmap -dump:format=b,file=test.bin 4321



3. jstack java堆栈跟踪工具

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

命令格式: jstack [option] vmid

-F当’jstack [-l] pid’没有相应的时候强制打印栈信息
-l长列表. 打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表.
-m打印java和native c/c++框架的所有栈信息.

文章已转至: http://www.yispider.com/html/show_49.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: