JVM-JDK命令行工具
JDK命令行工具
当我们进入JDK的安装目录里面的/bin目录,会发现有很多小工具,有我们熟悉的也经常用的java,javac,也有很多我们不怎么用到很陌生的工具.下面看看哪些平时不怎么用到的工具吧.
jps> JVM Procrss Stauts Tool,显示指定系统内所有的HotSpot虚拟机进程.
可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在的类)名称以及这些进程的本地虚拟机唯一ID(Local Virtual Machine Identifier,LVMID).
对于本地虚拟机进程来说,LVMID与操作系统进程的ID(Process Identifier,PID) 是一致的.
jps命令格式:
jps [ options ] [ hostid ]
例如:(由于我没有运行什么程序,所只有sun.tools.jps.Jps这一个了)
一些常用参数:
I> -q:只输出LVMID,省略主类的名称
II> -m:输出虚拟机进程启动时传递给主类main()函数的参数
III> -l:输出主类的全名,如果进程执行的是Jar包,输出Jar路径
IV> -v:输出虚拟机进程启动时JVM参数
jstat> JVM Statistics Monitoring Tool,用于收集HotSpot虚拟机各方面的运行数据.它可以显示本地或者远程虚拟机进程中的类装载,内存,垃圾收集,JIT编译等运行数据,在没有GUI图形界面,只提供类纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的首选工具.
jstat命令格式为:
jstat [ option vmid [ interval [ s | ms ] [ count ] ] ]
说明:I> 如果是本地虚拟机进程,VMID与LVMID是一致的.
II> interval 和 count 代表查询间隔和次数,省略说明只查询一次.
例如:jstat -gc 4158 300 10 表示每300毫秒查询一次进程4158垃圾收集状况,一共查询10次.
III> optin代表这用户希望查询的虚拟机信息,主要分为3类:类装载,垃圾收集,运行编译状况.
jinfo> Configuration Info for Java,显示虚拟机配置信息
jinfo命令格式:
jinfo [ optin ] pid
参数:
I> -flag可以查询未被显示指定的参数的系统默认值.
例如:
jmap> Memory Map for Java,生成虚拟机的内存转储快照(heapdump文件).还可以查询finalize执行队列,Java堆和永久代的详细信息,如空间利用率,当前用的是哪种收集器等.
jmap命令格式:
jmap [ optin ] vimd
参数:
I> -dump:生成Java堆转储快照.格式为:-dump:[live,]format=b,file=<filename>,其中live子参数说明是否只dump出存活的对象.
II> -finalizerinfo:显示在F-Queue中等待Finalizer线程执行finalize()方法的对象.只在Linux/Solaris平台下有效.
III> -heap:显示Java堆详细信息,如使用哪种回收器,参数值,分代状况等.只在Linux/Solaris平台下有效.
IV> -histo:显示堆中对象统计信息,包括类,实例数量,合计容量.
V> -permstat:以ClassLoader为统计口径显示永久代内存状况.只在Linux/Solaris平台下有效.
VI> -F:当虚拟机进程对-dump选项没有响应时,可使用这个选项强制生成dump快照.只在Linux/Solaris平台下有效.
jhat> JVM Heap Dump Browser,用于分析heapdump文件,它会建立一个HTTP/HTML服务器,让用户可以在浏览器上查看分析结果.
jstack> Stack Trace for Java,显示虚拟机的线程快照.
线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合,生成快照的主要目的是定位线程出现长时间停顿的原因.
jstack [ option ] vmid
参数:
I> -F:当正常输出的请求不被响应时,强制输出线程堆栈
II> -l:除了堆栈外,显示关于锁的附加信息
III> -m:如果调用到本地方法的话,可以显示C/C++的堆栈
例如(这里只是部分结果截图):
JVM-JDK命令行工具的更多相关文章
- 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:/ ...
随机推荐
- PacBio软件总览 - 初级分析
PacBio® RS Software Overview PacBio运行的整个流程是什么?每一步都用到了什么软件? PacBio软件套件 RS Remote:Design runs remotely ...
- tif图片编辑利器
http://www.onlinedown.net/soft/99112.htmTIF编辑器 0.4 http://www.zjda07.cn/软件类别:国产软件/图像处理软件大小:1089KB软件授 ...
- 销售 >> 当今社会生产力最大的源泉为 >>自助服务 与推销员随之消失
销售可能是变化最大的企业职能.比如,经济学家喜欢提出陷阱问题“什么概念或者想法成为当今社会生产力最大的源泉?” 大多数人回答计算机, 正确的回答是自助服务与推销员随之消失 ...
- Windows高精度时间
目录 第1章计时 1 1.1 GetTickCount 1 1.2 timeGetTime 1 1.3 QueryPerformanceCounter 1 1.4 测试 ...
- MM--发票校验 及基于采购订单的MIRO发票校验过程(
一.介绍发票校验是物料管理(MM)系统的一部分.它提供物料管理部分和财务会计, 成本控制和资产管理部分的连接.物料管理模块的发票校验为以下目的服务:它完成物料采购的全过程 - 物料采购从采购申请开始, ...
- 【软件使用】TortoiseSVN版本管理软件使用简单说明
TortoiseSVN版本管理软件使用简单说明 很多时候在写一个小的项目不想使用github等工具,只想简单在本地搭建一个版本管理器.那么TortoiseSVN就非常适合. 第一步:下载Tortois ...
- 20145218 《Java程序设计》第8周学习总结
20145218 <Java程序设计>第8周学习总结 教材学习内容总结 15.1 日志 15.1.1日志API简介 java.util.logging包提供了日志功能相关类与接口,不必额外 ...
- PHP 启动 cURL模块以及启动失败的解决方案
配置方法: php_curl.dll libeay32.dll ssleay32.dll php5ts.dll 复制到 %windir%/system32 以及php 目录的ext目录 下 并且找到p ...
- js和jquery获取子元素
<ul id="nav"> <li></li> <li> <ul> <li></li> < ...
- 《Java程序设计》实验二 实验报告
实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验要求 1.没有Lin ...