JVM
RunningShare
这个作者很懒,什么都没留下…
展开
-
Java日常问题诊断方法
日志检索#检索exception关键字或error关键字grep-E"exception|error"app.log#显示关键字上下10行日志grep-C10exceptionapp.log#检索2020-05-0519:23~25分钟段日志grep'2020-05-0519:2[3-5]'app.logsed-n'/2020-05-0519:23/,/2020-05-0519:25/p'app.log#检索202...转载 2020-05-29 11:11:32 · 300 阅读 · 0 评论 -
Java对象死亡判定
Java对象死亡判定1、判定对象是否存活1.1、引用计数算法在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能再被使用的优缺点缺点1、两个对象再无任何引用,实际上这两个对象已经不可能再被访问,但是它们因为互相引用着对方,导致它们的引用计数都不为零,引用计数算法也就无法回收它们2、占用了一些额外的内...原创 2020-04-17 11:19:30 · 322 阅读 · 0 评论 -
Metaspace 之一:Metaspace整体介绍(永久代被替换原因、元空间特点、元空间内存查看分析方法)
回顾根据JVM内存区域的划分,简单的画了下方的这个示意图。区域主要分为两大块,一块是堆区(Heap),我们所New出的对象都会在堆区进行分配,在C语言中的malloc所分配的方法就是从Heap区获取的。而垃圾回收器主要是对堆区的内存进行回收的。而另一部分则是非堆区,非堆区主要包括用于编译和保存本地代码的“代码缓存区(Code Cache)”、保存JVM自己的静态数据的“永生代(Perm G...转载 2020-04-14 17:47:03 · 570 阅读 · 0 评论 -
GC日志中,Metaspace的这几个参数分得清吗?
GC日志中,Metaspace的这几个参数分得清吗?占小狼gc3月前在GC日志中,Metaspace这一行的 used ,capacity ,committed ,reserved 具体都代表什么?HeapPSYoungGen total 10752K, used 4419K[0xffffffff6ac00000, 0xffffffff6b800000, 0xf...转载 2020-03-20 11:27:15 · 976 阅读 · 0 评论 -
java Metaspace频繁FGC问题定位
问题描述数据服务是通过SQL对外提供数据查询的服务平台,底层存储支持HBase和MySQL两种。用户首先在管理平台上配置好接口的SQL详情SQL接口配置业务方通过微服务接口根据生成的ID以及接口参数来完成数据的查询,由于HBase不支持SQL引擎的查询,我们基于calcite实现了一套简单的SQL On HBase解析逻辑。查看笔者前面的文章可以看到堆空间内存泄露的文章,...转载 2020-03-19 17:40:41 · 1117 阅读 · 2 评论 -
CMSInitiatingOccupancyFraction=70、UseCMSInitiatingOccupancyOnly和CMSScavengeBeforeRemar
CMS GC要决定是否在full GC时做压缩,会依赖几个条件。其中,第一种条件,UseCMSCompactAtFullCollection 与 CMSFullGCsBeforeCompaction 是搭配使用的;前者目前默认就是true了,也就是关键在后者上。第二种条件是用户调用了System.gc(),而且DisableExplicitGC没有开启。第三种条件是young gen报告接下...转载 2020-03-18 13:37:32 · 476 阅读 · 0 评论 -
JVM源码分析之Jstat工具原理完全解读
概述jstat是hotspot自带的工具,和java一样也位于JAVA_HOME/bin下面,我们通过该工具可以实时了解当前进程的gc,compiler,class,memory等相关的情况,具体我们可以通过jstat -options来看我们到底支持哪些类型的数据,譬如JDK8下的结果是:-class-compiler-gc-gccapacity-gccause-gcmeta...转载 2019-06-07 18:23:31 · 452 阅读 · 0 评论 -
jstat命令详解
stat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。可见,Jstat是轻量级的、专门针对JVM的工具,非常适用。jstat工具特别强大,有众多的可选...转载 2019-06-10 00:11:47 · 4962 阅读 · 0 评论