现在的位置: 首页 > 综合 > 正文

jdk6中的jps,jstack,jmap,jhat,jconsole命令

2013年12月01日 ⁄ 综合 ⁄ 共 1349字 ⁄ 字号 评论关闭

jps -- Java Virtual Machine Process Status Tool

可以列出本机所有java进程的pid
jps [ options ] [ hostid ]
-q 仅输出VM标识符,不包括class name,jar name,arguments in main method
-m 输出main method的参数
-l 输出完全的包名,应用主类名,jar的完全路径名
-v 输出jvm参数
-V 输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件
-Joption 传递参数到vm,例如:-J-Xms48m

hostid:
[protocol:][[//]hostname][:port][/servername]

输出格式:
lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ]

样例:
jps -v
jps -lv

====================================================
jstack -- Stack Trace

此命令打印java线程的堆栈跟踪,可以得知哪些线程被阻塞或正等待,以便于查找原因
jstack [ option ] pid
-m 打印混合模式(java,c/c++ stack trace)

样例:
jstack pid

====================================================
jmap -- Memory Map

此命令打印java的共享对象内存map和堆内存的细节
jmap [ option ] pid
-- 打印共享对象mapping
-dump:[live,]format=b,file= -- dump堆中的对象到文件
-finalizerinfo  打印等待回收对象的信息
-heap  打印堆总结
-histo[:live]  打印堆的对象统计,包括对象数、内存大小等等
-permstat  打印java堆perm区的classloader统计
-F  强制,在jmap -dump或jmap -histo中使用,如果pid没有相应的回复
-J  提供jvm选项,如:-J-Xms256m

样例:

jmap -heap pid
jmap -dump:live,file=   dump堆中的live对象到文件
jmap -dump:file=   dump堆中的所有对象
jmap -dump:live,format=b,file=   以二进制格式dump

========================================
jhat -- Java Heap Analysis Tool

-port  jhat的http server端口号
-J  提供jvm选项

jmap -dump:live,file= -- dump堆中live对象到文件,可以利用jhat去查看dump文件
jhat 并且访问网址http://localhost:7000/
如果报内存不够,则用jhat -J-Xmx256m 即可

========================================
jconsole

使用JTop插件
<JDK6>/bin/jconsole -pluginpath <JDK6>/demo/management/JTop/JTop.jar

抱歉!评论已关闭.