正文内容加载中...
posted @ 2021-04-10 17:07 甜菜波波 阅读(5) 评论(0) 推荐(0) 编辑
摘要:JVM配置参数之(-D、-X、-XX的区别) 最近在学习jvm调优相关的内容, 一直有一个疑问,为什么有些参数是以-X开头的,有些是以-XX开头的,还有-D开头的? 通过查询资料、总结如下 -XX 说明: 标准选择(Standard Options) 这些是 JVM 的所有实现都支持的最常用的选项。 阅读全文
posted @ 2021-03-17 17:49 甜菜波波 阅读(47) 评论(0) 推荐(0) 编辑
摘要:最近一段时间一直在研究热部署,热部署中涉及到一个比较头痛的问题就是查内存泄露(Memory Leak),于是乎在研究热部署的过程中,干的最多的一件事就是查内存泄露。 查内存泄露,最开始尝试用JDK自身的工具去解决这件事,通过jstat和jmap,去发现是否有内存泄露,当判断有内存泄露存在时,试图要去 阅读全文
posted @ 2021-03-02 16:06 甜菜波波 阅读(44) 评论(0) 推荐(0) 编辑
摘要:一、安装 1.1、在Eclipse上安装MAT插件,步骤如下: 点击Help,Install New Soft,就出现了以下Install界面:然后我们点击ADD,在弹出的框中填上Mat插件的地址:http://download.eclipse.org/mat/1.6/update-site/,确定 阅读全文
posted @ 2021-03-01 11:50 甜菜波波 阅读(50) 评论(0) 推荐(0) 编辑
摘要:最近在学习JVM和GC调优,今天总结下CMS的一些特点和要点,让我们先简单的看下整个堆年轻代和年老代的垃圾收集器组合(以下配合java8完美支持,其他版本可能稍有不同),其中标红线的则是我们今天要着重讲的内容: 垃圾回收器的可用组合: ParNew and CMS "Concurrent Mark 阅读全文
posted @ 2021-03-01 10:12 甜菜波波 阅读(35) 评论(0) 推荐(0) 编辑
摘要:2016-05-06中午11:56,收到“[sentry2]2016-05-06 11:56:09 xxxxxxhost xxx.xxx.xxx.xxx 内存使用已达到90.18%”报警。首先在脑海浮现的, 应该哪里出现内存泄漏了。 一、确认问题 马上到 Sentry 监控系统查看了该服务的“ 服务 阅读全文
posted @ 2021-02-28 19:44 甜菜波波 阅读(58) 评论(0) 推荐(0) 编辑
摘要:-XX:+UseConcMarkSweepGC 手动指定使用CMS收集器执行内存回收任务。 开启该参数后会自动将-XX:+UseParNewGC打开。即: ParNew(Young区用)+CMS(Old区用)+Serial Old的组合。 -XX:CMSlnitiatingOccupanyFract 阅读全文
posted @ 2021-02-28 19:41 甜菜波波 阅读(94) 评论(0) 推荐(0) 编辑
摘要:在 tomcat/bin/catalina.sh 的 第一行#!/bin/sh 下添加 JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:PermSize=128m -XX:MaxPermSize=256m -Djava.aw 阅读全文
posted @ 2021-02-28 19:40 甜菜波波 阅读(54) 评论(0) 推荐(0) 编辑
摘要:序 本文主要记录一些jvm参数的使用陷阱。 -XX:MaxTenuringThreshold -XX:MaxTenuringThreshold只对串行回收器和ParNew有效,对ParallGC无效。存活次数在串行和ParNew方式中可通过-XX:MaxTenuringThreshold来设置,Pa 阅读全文
posted @ 2021-02-28 19:39 甜菜波波 阅读(19) 评论(0) 推荐(0) 编辑
摘要:concurrent mode failure是什么? CMS垃圾收集器特有的错误,CMS的垃圾清理和引用线程是并行进行的,如果在并行清理的过程中老年代的空间不足以容纳应用产生的垃圾(也就是老年代正在清理,从年轻代晋升了新的对象,或者直接分配大对象年轻代放不下导致直接在老年代生成,这时候老年代也放不 阅读全文
posted @ 2021-02-28 19:38 甜菜波波 阅读(23) 评论(0) 推荐(0) 编辑