jvm实践
-
JVM Survivor行为一探究竟
MaxTenuringThreshold: 说到Survivor就不得不提及这个参数,笨神(微信公众号:"你假笨", 想学习JVM调优的话,强烈推荐关注这个公众…
-
探索StringTable提升YGC性能
很久很久以前看过笨神的一篇文章JVM源码分析之String.intern()导致的YGC不断变长,其原因是YGC过程需要对StringTable做扫描,而String.intern…
-
让JVM按照预期GC
加入笨神(公众号:你假笨)带头创建的JVMPocket群已经有一段时间了,有幸得到笨神指导一二,学到了不少东西,也纠正了自己对JVM一些误解,还能给群里一些朋友提出的问题给出指引,…
-
CMS几种GC模式解读-感谢你假笨的指正
写在前面 非常感谢笨神对这篇文章的一些指正。 在G1出来之前,CMS绝对是OLTP系统的标配。即使G1出来几年了,生产环境很多的JVM实例还是采用ParNew+CMS的组合。但是即…
-
优化我的IDEA GC
IDEA是个好东西,可以说是地球上最好的Java开发工具,但是偶尔也会卡顿,仔细想想IDEA也是Java开发的,会不会和GC有关,于是就有了接下来对IDEA的GC进行调优; IDE…
-
初步诊断你的GC
前言 JVM的GC机制让Java程序员省去了自己垃圾回收的烦恼,大大提高了生产效率。但是正因为JVM垃圾回收机制足够优秀,导致很多Java程序员对JVM这个黑盒了解甚少,很多人没有…
-
JVM参数MetaspaceSize的误解
前言 昨天谢照东大神在群里提出一个问题:怎么查看Metaspace里具体包含的是什么,起因是他的某个服务设置了-XX:MetaspaceSize=512m -XX:MaxMetas…
-
JVM所有参数一览
注意:所有参数基于JDK7和JDK8提取(java -XX:+PrintFlagsFinal -version),且每个参数的值可以通过命令jinfo -flag JVMParam…
-
OMG!又一个频繁FullGC案例
需求背景 将用户已安装APP数据从MySQL中迁移到MongoDB中。MySQL中存储方式比较简单,每个用户每个已安装的APP一行记录,且数据模型对应AppFromMySQL。迁移…
-
Don’t Cross 32 GB!
看elasticsearch官方文档时,提到的一个观点:Don’t Cross 32 GB。是因为当JVM堆少于32G时,HotSpot虚拟机会启用一个压缩对象指针。而如果超过32…
-
全面对比5大GC的内存伸缩能力
在软件开发中,很明显,与大型应用程序相比,小而灵活的微服务可以提供更多的优势。而JDK9的Jigsaw更加有助于分解我们的Java应用程序,从而构建更适合云原生的应用程序和微服务。…
-
剖析G1(Garbage First)
欢迎关注笔者的公众号:【阿飞的博客】,首发都在这里!!! Java从JDK7U9开始支持G1(正式发布),所以,如果要使用G1的话,你的Java版本应该是JDK7U9或者更新的版本…
-
从CMS到G1:LinkedIn个人主页调优实战
欢迎关注笔者的公众号:【阿飞的博客】,首发都在这里!!! LinkedIn中的个人主页是访问量最多的页面之一,它允许其他人访问你的个人主页,从而了解你的专业技能,经验和兴趣等: L…
-
G1之REGION SIZE
说明:JDK7和JDK8的Region划分实现略有不同(差异非常小,且只有-Xmx和-Xms的值不一样才有区别),本篇文章讲解的是JDK8中Region的划分实现;如果要了解JDK…
-
如何了解CMS的垃圾碎片率
PrintFLSStatistics这个参考比较有用,因为CMS GC会有碎片问题,而随着碎片的越来越严重,GC性能会变差直到发生FullGC,而FullGC时STW通过会超过数秒…
-
东半球第二详细JVM内存占用情况深入分析
很多同学都问过这个问题,为什么我的Xmx设置4g,但是TOP命令查询RES却占用5G,6G,甚至8G。这个正常吗?也可以说正常,也可以说不正常,怎么判断?笔者今天就要为你解答这个问…
-
异常栈信息不见了之JVM参数OmitStackTraceInFastThrow
问题描述 某天收到生产环境error日志告警(对error.log监控,超过一定大小就会给开发人员发送告警短信)。但是tail查看最新的异常信息只有这些,好忧伤: … … …
-
FullGC实战:业务小姐姐查看图片时一直在转圈圈
业务小姐姐说图片访问不了,我开始慌了: loading配图 看到业务小姐姐发的这个图片,你说能不慌嘛?但是再慌也要排查问题呀!对于这种前端响应不过来的问题,首先就用浏览器的F12看…
-
又是一个程序员粗心的代码引起频繁FullGC的案例
这是笨神JVMPocket群里一位名为"云何*住"的同学提出来的问题,问题现象是CPU飙高并且频繁FullGC。 重现问题 这位同学的业务代码比较复杂,…
-
jinfo命令详解
jinfo jinfo全称Java Configuration Info,所以它的主要作用是实时查看和调整JVM配置参数, 查看JVM参数 用法:jinfo -flag <n…