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

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

2013-10-20 21:56 381 查看
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

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐