尤其是GC情况的监控,如果老年代发生Full GC,那么很可能会导致内存泄漏的可能性。

jstat -gcutil PID

jstat -gcutil PID 1s

会每隔一秒输出内存相关信息,示例输出如下:

输出列内容说明:

S0: Survivor 0区的空间使用率 Survivor space 0 utilization as a percentage of the space's current capacity.

S1: Survivor 1区的空间使用率 Survivor space 1 utilization as a percentage of the space's current capacity.

E: Eden区的空间使用率 Eden space utilization as a percentage of the space's current capacity.

O: 老年代的空间使用率 Old space utilization as a percentage of the space's current capacity.

M: 元数据的空间使用率 Metaspace utilization as a percentage of the space's current capacity.

CCS: 类指针压缩空间使用率 Compressed class space utilization as a percentage.

YGC: 新生代GC次数 Number of young generation GC events.

YGCT: 新生代GC总时长(从应用程序启动到采样时年轻代中gc所用时间 单位:s)Young generation garbage collection time.

FGC: Full GC次数 Number of full GC events.

FGCT: Full GC总时长(从应用程序启动到采样时old代(全gc)gc所用时间 单位:s)Full garbage collection time.

GCT: 总共的GC时长 (从应用程序启动到采样时gc用的总时间 单位:s)Total garbage collection time.

jstat -gc <pid> 1s 会输出具体占用的数值(KB)。

输出列说明如下:

SOC 第 0 个 Survivor 区的总空间 (KB).

S1C 第 1 个 Survivor 区的总空间 (KB).

S0U 第 0 个 Survivor 区已使用的空间 (KB).

S1U 第 1 个 Survivor 区已使用的空间 (KB).

EC Eden 区的总空间 (KB).

EU Eden 区已使用的空间 (KB).

OC OldGen 的总空间 (KB).

OU OldGen 已使用的空间 (KB).

PC/MC PermGen / MetaSpace 的总空间 (KB).

PU/MU PermGen / MetaSpace 使用的空间 (KB).

YGC 程序启动以来 Young GC 发生的次数.

YGCT 程序启动以来 Young GC 共消耗的时间(s).

FGC 程序启动以来 Full GC 发生的次数.

FGCT 程序启动以来 Young GC 共消耗的时间(s).

GCT 程序启动以来 GC 的总用时(s).

查看监控Heap size 和 JVM 垃圾回收情况相关推荐

  1. Java 技术篇-用java自带的内存检测工具排查内存泄漏问题,查看java垃圾回收情况,监控java堆内存变化

    在 java 的 bin 文件夹下有个 jvisualvm.exe 工具,使用它可以检测到 java堆内存 的变化情况,借此可以来检测使用 java 的程序是否存在内存泄漏问题. 我们左边选择程序对应 ...

  2. 【JAVA进阶】JVM第二篇- JVM 垃圾回收详解

    写在前面的话 脑子是个好东西,可惜的是一直没有搞懂脑子的内存删除机制是什么,所以啊,入行多年,零零散散的文章看了无数,却总是学习了很多也忘了很多. 痛定思痛的我决定从今天开始系统的梳理下知识架构,记录 ...

  3. JVM垃圾回收算法及垃圾回收器

    目录 一.垃圾回收GC (Garbage Collection) 1.1 垃圾回收介绍: 1.2  如何判断对象是否存活(被使用) 1.2.1 引用计数算法(已经废弃) 1.2.2 可达性分析 二.垃 ...

  4. 为什么 Java 进程使用的 RAM 比 Heap Size 大?​ | CSDN博文精选

    作者 | javaadu 责编 | 郭芮 出品 | CSDN 博客 Java进程使用的虚拟内存确实比Java Heap要大很多.JVM包括很多子系统:垃圾收集器.类加载系统.JIT编译器等等,这些子系 ...

  5. 细谈JVM垃圾回收与部分底层实现

    JVM系列文章目录 初识JVM 深入理解JVM内存区域 玩转JVM对象和引用 JVM分代回收机制和垃圾回收算法 细谈JVM垃圾回收与部分底层实现 Class文件结构及深入字节码指令 玩转类加载和类加载 ...

  6. 使用 zabbix 监控 tomcat(包含jvm监控)

    点击上方"民工哥技术之路"选择"星标" 每天10点为你分享不一样的干货  读者福利!多达 2048G 各种资源免费赠送 1.前言: 我们的监控系统是zabbix ...

  7. JVM垃圾回收算法与原理详解

    垃圾回收 参考文档 GC参考手册-Java版 理解Java的强引用.软引用.弱引用和虚引用 JVM系列(五) - JVM垃圾回收算法 如何判断对象可以回收 引用计数法 参考文章 Java JVM的引用 ...

  8. JVM -- 垃圾回收;垃圾回收算法(三)

    阅读前可参考 https://blog.csdn.net/MinggeQingchun/article/details/126947384 https://blog.csdn.net/MinggeQi ...

  9. JVM垃圾回收与一次线上内存泄露问题分析和解决过程

    前言 内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果. Java是由C++发展来的,抛弃 ...

最新文章

  1. html 页面自适应窗口大小,JavaScript实现自适应窗口大小的网页
  2. linux系统ip策略筛选器,在Linux下基于路由策略的IP地址控制
  3. opencv2生成图像的梯度图
  4. (转载)[MySQL技巧]INSERT INTO… ON DUPLICATE KEY UPDATE
  5. 交替性注意力_如何从心理学角度解释“专注力”,“专注力”对一个人的影响?...
  6. 奇数阶幻方 java_N(奇数)阶幻方-java实现代码
  7. c语言密码程序返回,想程序高手求助--用C语言来编辑一个输入密码的程序
  8. 图书管理系统详细设计说明书_书城管理系统不同模块在图书管理中体现不同作用...
  9. 厦门one_虽然每次都有原因,但理想ONE的轴似乎特别脆弱?
  10. java动态类加载_实现Java动态类载入机制
  11. 输入url到页面返回的过程
  12. 黄聪:用于 Web 应用程序项目部署的 Web.config 转换语法
  13. FFmpeg总结(十二)用ffmpeg与nginx实现直播多路流并发播放
  14. You have to specify ‘-keep‘ options for the shrinking step
  15. 计算机面试 OA 试题及答案,办公自动化题库OA(附答案)
  16. 一.mtk平台的gpio控制
  17. 区块链是什么通俗解释_区块链是什么?1个例子通俗解释,小白秒懂!
  18. 用python制作动态二维码
  19. hive数仓、数据中台数据核对的方法
  20. STM32CubeIDE加CubeMX开发二——CudeMX的使用

热门文章

  1. android node编码,android studio中的Node.js
  2. php 小墙 垃圾评论,关于php过滤垃圾评论
  3. python模块下载失败_ubuntu16.04安装python的requests模块失败,怎么解决?
  4. MYSQL必知必会-where语句
  5. Java String常用的两个方法
  6. EurekaServer高可用的注册中心集群搭建
  7. 异常检测(Anomaly detection): 异常检测算法(应用高斯分布)
  8. 整个技术架构结构设计
  9. jQuery Post
  10. 弹出窗口刷新它的父页面后。出现不重新发送信息,则无法刷新网页