JVM学习系列学习四

作者: 凯哥Java | 来源:发表于2019-07-02 09:18 被阅读1次

我们接着上一篇讲解:

使用命令查看对内存使用情况

使用到的命令:jstat

Jstat:此命令可以查看对内存各个部分的使用量,以及加载类的数据。

命令格式:

Jstat[-命令选项][vmid][间隔时间/毫秒][查询次数]

实例

1:查看class加载统计

1.1:使用jps命令查看java程序的PID:

命令:jps

说明:Bootstrap就是Java运行程序的PID

1.2:使用jstat -class JavaPID 命令查看:

如上图我们查出来的是:10662。所以命令:

Jstat -class  10662

说明:

Loaded:加载的class的数量 11010

Bytest:所占用空间的大小    21662.8

Unloaded:未加载数量    329

Bytest:未加载占用空间        513.6

Time:时间                21.82

1.3:查看编译统计

使用命令:jstat -compiler PID

说明:

    Compiled:编译数量

    Failed:失败数量

    Invalid:不可用数量

    Time:时间

    FailedType:失败类型

    FailedMethod:失败的方法

1.4:垃圾回收统计

命令:jstat -gc PID

此命令也可以指定打印的间隔和次数。

如我们想要每秒打印一次,共打印5次。命令:

Jstat -gc pid 1000 5

JDK1.7下的:

JDK1.8下的:

是否发现1.7与1.8还是由区别的。

说明:

S0C:第一个Survivor区的大小(KB)

S1C:第二个Survivor区的大小(KB)

S0U:第一个Survivor区的使用大小(KB)

S1U:第二个Survivor区的使用大小(KB)

EC:Eden区的大小(KB)

EU:Eden区的使用大小(KB)

OC:Old区大小(KB)

OU:Old使用大小(KB)

MC:方法区大小(KB)

MU:方法区使用大小(KB)

CCSC:压缩类空间大小(KB)

CCSU:压缩类空间使用大小(KB)

YGC:年轻代垃圾回收次数

YGCT:年轻代垃圾回收消耗时间

FGC:老年代垃圾回收次数

FGCT:老年代垃圾回收消耗时间

GCT:垃圾回收消耗总时间

4Jmap的使用及内存溢出分析

4.1:查看内存使用情况

使用命令:jmap -heap PID

说明:从上图中,我们可以清晰的看出1.8堆内存模型的两个区域

在来看看JDK1.7的:

是不是发现多了Perm区。

从这里我们也能看出JDK1.7与JDK1.8的区别。

本文是《JVM学习系列》中的第三篇文章。如果想系统的学习,建议从本教程第一篇开始看。

下节预告:

本文来源:www.kaigejava.com

凯哥公众号:凯哥Java(kaigejava)

相关文章

  • JVM学习系列学习四

    我们接着上一篇讲解: 使用命令查看对内存使用情况 使用到的命令:jstat Jstat:此命令可以查看对内存各个部...

  • JVM学习系列学习五

    我们接着上一篇文章讲解: 4.2:查看内存中对象数量及大小 查看所有对象,包括活跃及非活跃的。使用命令: Jmap...

  • JVM学习系列学习六

    本文是《JVM学习系列》教程中第六篇文章。不是单篇的。 我们接着上一篇讲解: 4.5:通过MAT工具对dump文件...

  • JVM学习系列学习七

    5:实战:内存溢出的定位与分析 内存溢出在日常工作中,这个错误很容易遇到。遇到内存溢出,首先我们需要快速定位内存溢...

  • JVM学习系列学习一

    本文主要内容: ​ 一:为什么要对JVM进行优化? 我们在自己电脑上进开发的时候,几乎很少考虑对JVM进行优化。但...

  • JVM学习系列学习二

    查看JVM的运行参数 在有些时候我们需要查看JVM的运行参数,这个需求可能有以下两种情况: 1:运行Java命令时...

  • JVM学习系列学习三

    我们接着上一篇文章讲解: 堆、栈、永久区比较 Heap(堆内存): 在Java中,创建的所有引用对象类型,都在堆内...

  • 科学计算系列学习 02:Pandas

    科学计算系列学习 01:Numpy科学计算系列学习 02:Pandas科学计算系列学习 03:Matplotlib...

  • JVM系列学习随笔(一)

    虚拟机 JVM:JVM全称Java Virtual Machine(Java虚拟机),是一个虚构出来的计算机,作用...

  • JVM学习笔记(3)-垃圾收集算法

    JVM学习笔记(1)-内存管理机制 JVM学习笔记(2)-内存分配与回收 垃圾收集算法 JVM垃圾收集算法有四种:...

网友评论

    本文标题:JVM学习系列学习四

    本文链接:https://www.haomeiwen.com/subject/tkmacctx.html