[转帖]【JVM】JDK命令行工具
在JDK/bin目录下我发现了许多命令行工具
这些命令有哪些作用呢,接下来我就来详细介绍一下
常用JDK命令行工具
命令名称 | 全称 | 用途 |
---|---|---|
jstat | JVM Statistics Monitoring Tool | 用于收集Hotspot虚拟机各方面的运行数据 |
jps | JVM Process Status Tool | 显示指定系统内所有的HotSpot虚拟机进程 |
jinfo | Configuration Info for Java | 显示虚拟机配置信息 |
jmap | JVM Memory Map | 生成虚拟机的内存转储快照,生成heapdump文件 |
jhat | JVM Heap Dump Browser | 用于分析heapdump文件,它会建立一个HTTP/HTML服务器,让用户在浏览器上查看分析结果 |
jstack | JVM Stack Trace | 显示虚拟机的线程快照 |
1. jps
(1) 定义:查看虚拟机进程信息
(2) 参数:
-q 只输出进程ID,不输出类的短名称
-m 输出传递给Java进程的函数
-l 输出主函数的完整路径
-v 显示传递给JVM的参数
(3)实例
2.jinfo
(1)定义:用于查看和调整虚拟机的配置参数
(2)参数
-flag 打印指定JVM的参数值
-flag [+]-] 设置指定JVM参数的布尔值
-flag = 指定JVM参数的值
(3)实例
3.jstack
(1)定义:虚拟机堆栈跟踪
(2)参数
-l 打印锁信息
-m 打印Java和native 的帧信息
-F 强制dump,当jstack没有响应时使用。
(3)实例
4.jstat
(1)定义:查看虚拟机统计信息监视工具
(2)参数
-class 监视类装载,卸载数量,总空间以及类装载所耗费的时间
-gc 监视Java堆状况,包括Eden区,两个survivor区,老年代,永久代的容量,已用空间,GC时间合计等信息
-gccapacity 内容与-gc基本相同,但主要输出Java堆各个区域的最大最小空间
-gcutil 内容与-gc基本相同,但主要关注已使用空间占总空间的百分比
-gccause 内容与-gcutil基本相同,但主要关注已使用空间占总空间的百分比,并输出导致上一次GC的原因
-gcnew 监视新生代GC情况
-gcnewcapacity 内容与-gcnew基本相同,但主要输出使用到的最大最小空间
-gcold 监视老年代GC情况
-gcoldcapacity 内容与-gcnew基本相同,但主要输出使用到的最大最小空间
-gcpermcapacity 输出永久代使用到的最大最小空间
-complier 输出JIT 编译器编译过的方法耗时的信息
-printcompliter 输出已经被JIT编译的方法
(3)实例
每列的含义
- S0C:第一个幸存区的大小
- S1C:第二个幸存区的大小
- S0U:第一个幸存区的使用大小
- S1U:第二个幸存区的使用大小
- EC:伊甸园区的大小
- EU:伊甸园区的使用大小
- OC:老年代大小
- OU:老年代使用大小
- MC:方法区大小
- MU:方法区使用大小
- CCSC:压缩类空间大小
- CCSU:压缩类空间使用大小
- YGC:年轻代垃圾回收次数
- YGCT:年轻代垃圾回收消耗时间
- FGC:老年代垃圾回收次数
- FGCT:老年代垃圾回收消耗时间
- GCT:垃圾回收消耗总时间
5.jmap
(1)定义:生成Java应用程序的堆快照和对象的统计信息
(2)参数
-dump 生成Java堆转储快照,格式为: -dump:[live , ]format=b , file=,其中live子参数 说明只dump出存活的对象
-finalizerinfo 显示在F-Queue中等待Finalizer线程执行finalize方法的对象
-heap 显示Java堆详细信息,如使用哪种回收器,参数配置,分代状况等
-histo 打印每个class的实例数目,内存占用,类全名信息. VM的内部类名字开头会加上前缀”*”
(3)实例
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jMb9Tqn3-1615415603986)(https://img-blog.csdn.net/20170624212413840?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmFpeWVfeGluZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]
6. jhat
(1)定义:分析虚拟机转储快照信息
(2)参数:后面接文件路径
(3)实例
打开浏览器,输入网址:http://127.0.0.1:7000/
然后就可以看到(部分网页)
其他工具
当然还有几个其他工具,例如
内存dump后的分析工具:MAT
看Java进程的native栈:pstack
日志相关工具:tail,find,fgrep,awk
查看Java堆外的内存消耗:gperf
小结
- 命令行终端
- 标准终端类:jps、jinfo、jstat、jstack、jmap
- 功能整合类:jcmd、vjtools、arthas、greys
- 可视化界面
- 简易:JConsole、JVisualvm、HA、GCHisto、GCViewer
- 进阶:MAT、JProfiler
参考:java问题排查工具单
[转帖]【JVM】JDK命令行工具的更多相关文章
- JVM-JDK命令行工具
JDK命令行工具 当我们进入JDK的安装目录里面的/bin目录,会发现有很多小工具,有我们熟悉的也经常用的java,javac,也有很多我们不怎么用到很陌生的工具.下面看看哪些平时不怎么用到的工具吧. ...
- jdk命令行工具(一)
1.概述 熟悉java开发的人应该都知道在jdk的bin目录下有许多的工具,这些工具主要用于监视虚拟机和故障处理.这些故障处理工具被Sun公司称作为“礼物”附赠给JDK的使用者,并在软件的使用说明中把 ...
- JVM性能监控工具(一)-jdk命令行工具
转载:http://blog.csdn.net/top_code/article/details/51456186 当系统出bug需要定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处 ...
- JVM调优前戏之JDK命令行工具---jhat
在JDK的命令行中,一般开发人员最耳熟能详的肯定就是java,javac,javap等常用命令,不过在jdk/bin下还有许多其他的命令行工具,它们被用来监测JVM运行时的状态,下面我们来详细解读一下 ...
- JVM调优前戏之JDK命令行工具---jstack
在JDK的命令行中,一般开发人员最耳熟能详的肯定就是java,javac,javap等常用命令,不过在jdk/bin下还有许多其他的命令行工具,它们被用来监测JVM运行时的状态,下面我们来详细解读一下 ...
- JVM 常用命令行工具
本文部分摘自<深入理解 Java 虚拟机第三版> 基础故障处理工具 Java 开发人员肯定都知道 JDK 的 bin 目录下有许多小工具,这些小工具除了用于编译和运行 Java 程序外,打 ...
- Java之jdk命令行工具详解
JPS---虚拟机进程状况工具 常用的参数: -l 输出Java应用程序的main class的完整包 -q 仅显示pid,不显示其它任何相关信息 -m 输出传递给main方法的参数 -v 输出传递给 ...
- JDK命令行工具
jinfo(Configuration Info for Java)的作用是实时地查看和调整虚拟机各项参数 jmap(Memory Map for Java)命令用于生成堆转储快照(一般称为heapd ...
- JVM常用命令行工具1
1.jps [options][hostid]:查看虚拟机进程状况 -l 输出主类全名,如果进程执行的是jar包,输出jar包路径.-q 只输出LVMID. -m输出虚拟机进程启动时传递给主类main ...
- jdk命令行工具系列
虚拟机堆转储快照分析工具使用jmap等方法生成java的堆文件后jhat:虚拟机堆转储快照分析工具 导出程序执行的堆信息 jps jps -l jmap -dump:format=b,file=D:/ ...
随机推荐
- 云小课|MRS基础原理之Oozie任务调度
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:Oozie是一个基 ...
- 一文你带快速认识Vue-Router路由
摘要:Vue Router是Vue.js 官方的路由管理器.它和Vue.js的核心深度集成,可以非常方便的用于SPA应用程序的开发. 本文分享自华为云社区<Vue-Router路由快速了解与应用 ...
- 1500万员工轻松管理,云原生数据库GaussDB让HR办公更高效
摘要: 云原生数据库GaussDB助力"2号人事部"打造高品质HR效率软件 本文分享自华为云社区<1500万员工轻松管理,云原生数据库GaussDB让HR办公更高效>, ...
- 云小课 | 网络知识一箩筐——NAT网关,让IP地址华丽变身,轻松实现内外网互通
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课) 或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要: 网络知识一箩筐 ...
- HTTP请求转发那些事:你可能不知道的Hop-by-hop Headers和End-to-end Headers
摘要:不是所有的web容器都能帮助开发者屏蔽hop-by-hop headers,有些容器反而允许开发者自定义hop-by-hop headers来实现更大程度的灵活性. 本文分享自华为云社区< ...
- 中断操作:AbortController学习笔记
前端面试一般喜欢问: 请手写一个带取消功能的延迟函数,axios 取消功能的原理是什么? 如何中断请求fetch的原理分析和应用? 在看来<使用 AbortController 终止 fetch ...
- websever
1 在浏览器键入url,按下回车会经历如下行为 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址; 解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立 TC ...
- 阿里云 AI 编辑部获 CCBN 创新奖,揭秘传媒行业解决方案背后的黑科技
5 月 27 日,CCBN(第二十八届中国国际广播电视信息网络展览会)在北京隆重召开,在本次的 "CCBN 年度创新奖" 评选中,阿里云视频云凭借AI 编辑部的传媒行业专业解决方案 ...
- XShell、XFtp免费许可证增强:删除标签限制!
大家好,我是DD! XShell相信大家都不陌生了,作为Windows平台下最强大的SSH工具,是大部分开发者的必备工具.但由于免费许可证的标签限制,有不少开发者会去找破解版使用.虽然功能是可以使用了 ...
- UVA - 12096 :The SetStack Computer
题目大意 用集合模拟计算机操作.每执行完一个操作,输出栈顶的集合大小,操作如下: PUSH:空集合压栈 DUP:将栈顶元素再次压栈 UNION:依次弹栈得a,b,求并集后压栈 INTERSECT:依次 ...