1.JVM命令行工具 2.垃圾回收算法 3.垃圾收集器…
JDK命令行工具 当我们进入JDK的安装目录里面的/bin目录,会发现有很多小工具,有我们熟悉的也经常用的java,javac,也有很多我们不怎么用到很陌生的工具.下面看看哪些平时不怎么用到的工具吧. jps> JVM Procrss Stauts Tool,显示指定系统内所有的HotSpot虚拟机进程. 可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在的类)名称以及这些进程的本地虚拟机唯一ID(Local Virtual Machine Ident…
本文部分摘自<深入理解 Java 虚拟机第三版> 基础故障处理工具 Java 开发人员肯定都知道 JDK 的 bin 目录下有许多小工具,这些小工具除了用于编译和运行 Java 程序外,打包.部署.签名.调试.监控.运维等各种场景都可能会见到它们的影子 本文主要介绍的是用于监视虚拟机运行状态和进行故障处理的工具,根据软件可用性和授权的不同,可以分成三类: 商业授权工具:主要是 JMC(Java Mission Control)及它要使用到的 JFR(Java Flight Recorder).…
JDK命令行工具 Sun公司作为”礼物“赠送给JDK使用者的工具: 这些命令行工具大多是jdk/lib/tools.jar类库的一层薄包装,主要功能代码是在tools类库(不属于java的标准API)中实现的. Sun JDK监控与故障处理命令行工具 1.jps:虚拟机进程状况工具 可以列出正在运行的虚拟机进程,显示虚拟机执行主类名称,以及这些进程的本地虚拟机的唯一ID(LVMID,对于本地虚拟机进程来说LVMID与操作系统的进程PID是一致的). 命令格式: jps  [ options ]…
转载:http://blog.csdn.net/top_code/article/details/51456186 当系统出bug需要定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处理数据的手段.这里所说的数据包括:运行日志,异常堆栈,GC日志,线程快照(threaddump/javacore文件),堆转储快照(heapdump/hprof文件)等.使用适当的虚拟机监控和分析工具可以加快我们分析数据.定位问题的速度. JDK的命令行工具 JDK本身提供了很多方便的JVM性能监控…
jstat:虚拟机统计信息见识工具 jstat是用于见识虚拟机各种运行状态信息的命令行工具.他可以显示本地或远程虚拟机进程中的类装载.内存.垃圾收集.JIT编译等运行数据. jstat option vmid [interval[s|ms] [count]] E表示Eden: s1,s1表示survivor0,survivor1: 老年代o表示old,永久代p表示permanent 程序运行以来供放生Minor GC(YGC,表示Yong GC)122次,总耗时0.392,发生Full GC(F…
无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer.Windows服务器管理工具或NET START命令启动它 1.以管理员身份运行cmd 2.安装windows服务 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319(InstallUtil.exe的路径,注意InstallUtil.exe的版本号需要和项目的版本号相同) 3.安装windows服务 InstallU…
在JDK的命令行中,一般开发人员最耳熟能详的肯定就是java,javac,javap等常用命令,不过在jdk/bin下还有许多其他的命令行工具,它们被用来监测JVM运行时的状态,下面我们来详细解读一下几个常用的工具以及如何使用. jhat jhat(JVM Heap Analysis Tool)命令是与jmap搭配使用,用来分析jmap生成的dump,jhat内置了一个微型的HTTP/HTML服务器,生成dump的分析结果后,可以在浏览器中查看.在此要注意,一般不会直接在服务器上进行分析,因为j…
在JDK的命令行中,一般开发人员最耳熟能详的肯定就是java,javac,javap等常用命令,不过在jdk/bin下还有许多其他的命令行工具,它们被用来监测JVM运行时的状态,下面我们来详细解读一下几个常用的工具以及如何使用. jstack jstack(JVM Stack Trace)用于生成虚拟机当前时刻的线程快照.线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的就是定位线程出现长时间停顿的原因,如线程死锁.死循环.请求外部资源导致的长时间等待等都是导致线…
Jcmd:综合工具 jcmd -l  列出当前运行的所有虚拟机 参数-l表示列出所有java虚拟机,针对每一个虚拟机,可以使用help命令列出该虚拟机支持的所有命令 jcmd [pid] help jcmd [pid] VM.uptime   查看虚拟机启动时间VM.uptime jcmd [pid] Thread.print  打印线程栈信息Thread.print jcmd 21024 GC.class_histogram  查看系统中类统计信息GC.class_histogram jcmd…