JDK自身携带了大量的工具,以jdk1.6.0_38为例,已经自带了47个工具,包括大量的调试分析工具,有些是命令行有些是图形界面工具,这篇文章记录下其中一些工具的使用说明,以后有新的使用体会了再完善补充这篇文章
1 jstack
jstack用于打印java进程的堆栈信息或者从jvm进程崩溃后生成的dump文件生成堆栈信息
命令使用格式
jstack [option] pid
jstack [option] core_file
jstack [option] [server_id@]<remote server ip or hostname>
其中[option] 可选参数有
-l -m -F 详细说明通过jstack -h来查看
英文原文说明如下:
-F to force a thread dump. Use when jstack <pid> does not respond (process is hung)
-m to print both java and native frames (mixed mode)
-l long listing. Prints additional information about locks
-h or -help to print this help message
2 jps
和unix/linux里的ps类似,jps只打印jvm上运行的进程信息 输出运行进程的启动文件名和进程ID(pid)
jps命令参数说明
-q 不输出类名、Jar名和传入main方法的参数
-m 输出传入main方法的参数
-l 输出main类或Jar的全限名
-v 输出传入JVM的参数
3 jmap
jmap用于打印java进程堆栈信息和java堆内存转存到文件
(一) java -histo pid 打印java堆内类的实例数、字节数和类目,截图是本地的eclipse进程输出信息
(二) java -histo:live pid和上面的类似,只是打印"存活"的对象
(三) jmap -dump:file=file_path pid 将java 堆内存以hprof 二进制格式转存到文件。
关于hprof二进制格式的说明可以参考这里 https://java.net/downloads/heap-snapshot/hprof-binary-format.html
(四) jmap -heap pid 打印java 堆内存概述信息
下图是在某测试机器上执行情况
参数的解释
NewRatio:年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)
SurvivorRatio:Eden区与Survivor区的大小比值
4 jconsole和jvisualvm
这两个是图像化工具所见即所得,不仅支持本地而且还支持远程监视,不过远程连接之前要先做配置
5 jstat
查看jvm运行状态工具,包括JVM内各种内存空间(Eden Survivor 1/2 Old)使用情况和各种GC(YongGC Full GC)发生次数
jstat -options 查看可选参数
输出如下
这些选项分别表示
统计本地eclipse GC信息
其中从做到右的S0 S1 GCT分别代表如下
S0 — Heap上的 Survivor space 0 区已使用空间的百分比
S1 — Heap上的 Survivor space 1 区已使用空间的百分比
E — Heap上的 Eden space 区已使用空间的百分比
O — Heap上的 Old space 区已使用空间的百分比
P — Perm space 区已使用空间的百分比
YGC — 从应用程序启动到采样时发生 Young GC 的次数
YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒)
FGC — 从应用程序启动到采样时发生 Full GC 的次数
FGCT– 从应用程序启动到采样时 Full GC 所用的时间(单位秒)
GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)
其它工具以后使用到了 有空再继续写
相关推荐
JDK自带工具分析 1 1、工具分类概括: 2 1.1、基本工具 2 1.2、安全工具 3 1.3、Java国际化工具 3 1.4、远程方法调用工具 3 1.5、Java IDL and RMI-IIOP 工具 3 1.6、Java 部署工具 4 1.7、Java 插件工具 4 1.8、...
使用jdk自带的jar工具打jar包 采用命令行的方式 方便 快捷
利用jdk自带算法实现的AES加解密工具类及Base64编解码工具类、 文件操作工具类、aes扩展无限制权限策略文件等。 在jdk1.7环境亲测通过。
JDK自带调试工具doc JDK自带调试工具doc JDK自带调试工具doc
JDK自带工具之jinfo.docx
JDK自带的jarsigner签名工具帮助文档,指导大家用自带的JDK通过控制台签名apk;主要指令如下:jarsigner -verbose -keystore [您的签名存放路径]-signedjar [签名后的文件名] [未签名的文件名] [您的证书名称]
JDK自带VM分析工具jps,jstat,jmap,jconsole
CPU占用过高问题排查,java应用某台机器cpu比较高的情况,而且重启后基本上都会恢复正常。
Jconsole是Sun jdk 1.5以上版本自带的监控工具,可以对JVM进行全面的监控
NULL 博文链接:https://samjavaeye.iteye.com/blog/938657
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI ...
Tomcat开启JMX功能,使jdk自带的JVisvualVM工具连接JVM,轻松进行性能分析(csdn)————
java hprof(文件类型分析器)是一款功能强大的java问题解析软件。可以帮助大家在编辑过程种遇到问题的话就马上解决哦。有兴趣的话赶紧下载!...HPROF是JDK自带的分析工具,虽然只有基本功能,但是同样能提供程序的
NULL 博文链接:https://xcly.iteye.com/blog/861391
jdk1.7以上专用FTP工具类,本人花了半天时间调试通过,拿来即用,具体用法详见main函数。
远程连接工具,支持SFTP,FTP 需要自带jdk环境 该平台类似于网页版的Xshell,基于cookie和json的方式存储登录信息无数据库更方便兼容每个用户的使用,支持SFTP和FTP两种登录方式,打破原有黑端显示命令行和文件名的...
由浅入深,通过图解和手写代码,讲解Java版的多线程,主要讲解如下内容: ...JDK多线程工具包中,若干种工具的原理和手写实现: ReentrantLock、CountDownLanuh、CyclicBarrier、Semaphore
Your Uninstaller是一款专业的程序卸载工具,卸载功能比WIN自带的要程序卸载要强大很多,借助这你可以完卸载JDK软件,如果你碰到JDK无法卸载问题,可以使用Your Uninstaller可以助你一臂之力,轻松卸载任意版本JDK...
JDK自带工具生成ssl证书,经过上述操作,使用HTTPS 端口为8443 进行访问的时候 就是经过SSL信息加密,不怕被截获了。 通话的双方,必须是都拥有证书的端,才能进行会话,换句话说,就是只有安装了咱证书的客户端,...
NULL 博文链接:https://yimengzhu.iteye.com/blog/1879330