JVM菜鸟进阶高手之路八(一些细节)
转载请注明原创出处,谢谢!
gc日志问题
查看docker环境的gc日志,发现是下面这种情况,很奇怪,一直怀疑是docker环境那里是否有点问题,并没有怀疑配置,之前物理机上面的gc日志都是正常那种。
表示很奇怪,后来飞哥告诉我,有没有PrintGCDetails这个参数呀?一看果然,加上之后gc日志就和我们以前看的正常格式一样了。
Xmn问题
-Xms4g -Xmx4g -Xmn3g 使用cms回收器,查看gc日志,发现一次ygc需要效果大概20s多,平均时间都在10s左右,入下图:查看jmap,并且dump拉下来分析都正常 如图:
没啥问题啊,觉得特别奇怪,堆还是4G但是xmn去掉了(这里有个误区,以为新老比是1:2(默认) xmn默认就是1.33g 其实不是)查看日志:
Young现在760M了, Young代并不是一开始到最大值,也是慢慢扩展,但是这块时间的确没有之前那样的ygc需要10几秒了,再次添加-Xmn1.2g(尴尬了,启动不起来)
飞哥告诉我们JVM参数不能有小数,赶紧修改-Xmn1200m正常了。但是ygc的太频繁。
想不要这么频繁,修改-Xmn2g,结果意外了:
继续修改回来-Xmn1200m正常了,就是频率高了点。几分钟快700多次了。
可以确定的就是回收速度一定要比分配速度快,从这个来看GC情况还算好。
联机事务处理(OLTP)与联机分析处理(OLAP)
OLTP:On_line Transaction Processing 联机事务处理
OLAP:On_line Analytical Processing 联机分析处理
- OLTP 顾名思义,以业务处理为主。OLAP则是专门为支持复杂的分析操作而设计的,侧重于对决策人员和高层管理人员的决策支持,可以应分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并以一直直观的形式把查询结果提供。
- OLTP与OLAP 的主要区别有以下几点:
- 所面向的用户和系统:OLTP是面向客户的,由职员或客户进行事务处理或者查询处理。OLAp是向向市场的,由经理、主管和分析人员进行数据分析和决策的。
- 数据内容:OLTP系统管理当前数据,这些数据通常很琐碎,难以用于决策。OLAP系统管理大量历史数据,提供汇总和聚集机制,并在不同的粒度级别上存储和管理信息,这些特点使得数据适合于决策分析。
- 数据库设计:通常,OLTP采用ER模型和面向应用的数据库设计,而OLAP系统通常采用星型模式或雪花模式和面向主题的数据库设计。
- 视图:OLTP系统主要关注一个企业或部门的当前数据,而不涉及历史数据或不同组织的数据。与之相反,OLAP系统常常跨越一个企业的数据库模式的多个版本,OLAP系统也处理来自不同组织的信息,由多个数据源集成的信息。
- 访问模式:OLTP系统的访问主要由短的原子事务组成,这种系统需要并发控制和恢复机制。而OLAP系统的访问大部份是只读操作,其中大部份是复杂查询。
- 度量:OLTP专注于日常时实操作,所以以事务吞吐量为度量,OLAP以查询吞吐量和响应时间来度量。针对OLTP系统、OLAP系统 jvm调优还是不一样的。
OLAP系统垃圾回收器选择
由于系统配置的是cms(和业务系统一样的配置 OLTP系统)这个应该是吞吐量优先,应该不用cms收集器,修改配置,Xmx4g Xms4G Xmn1300m -XX:+UseParallelGC -XX:+UseParallelOldGC ,关于-XX:+UseParallelGC -XX:+UseParallelOldGC是否可以同时写,
-XX:+UseParallelGC, 新生代ParallelGC回收器,如果老年代不配置,那么老年代串行,只是老年代默认串行而已,再显示老年代UserParallelOldGC, 那老年代就是并行。一起都正常,还没有发现old满gc情况,回头在观察下。
疑惑,感觉xmn这个参数设置很有技巧啊,为什么设置Xmn2g的时候 就会ygc频率的确少了,但是ygc数据长了好几千倍了,为什么设置Xmn1200m或者说Xmn1300m很正常时间都在65ms左右。而且关于YGC真的不好排查,还在实践。希望看见此文章的,如果可以帮助解答疑惑,那么在此表示感谢!!!
个人公众号

JVM菜鸟进阶高手之路八(一些细节)的更多相关文章
- JVM菜鸟进阶高手之路十三(等你来战!!!)
转载请注明原创出处,谢谢! 前几天有个朋友问了我个问题,下面给大家分享下,希望大家积极在评论区进行评论留言,等你来战!!! 先来个趣味题,热身下,引出后面的jvm题目. 地上的影子是那个人的? 地上的 ...
- JVM菜鸟进阶高手之路十四:分析篇
转载请注明原创出处,谢谢! 题目回顾 JVM菜鸟进阶高手之路十三,问题现象就是相同的代码,jvm参数不一样,表现的现象不一样. private static final int _1MB = 1024 ...
- JVM菜鸟进阶高手之路一[z]
https://mp.weixin.qq.com/s/qD1LFmsOiqZHD8iZX97OfA? 问题现象 代码如下,使用 ParNew + Serial Old 回收器组合与使用 ParNew ...
- JVM菜鸟进阶高手之路十(基础知识开场白)
转载请注明原创出处,谢谢! 最近没有什么实战,准备把JVM知识梳理一遍,先以开发人员的交流来谈谈jvm这块的知识以及重要性,依稀记得2.3年前用solr的时候老是经常oom,提到oom大家应该都不陌生 ...
- JVM菜鸟进阶高手之路二(JVM的重要性,Xmn是跟请求量有关。)
转载请注明原创出处,谢谢! 今天看群聊jvm,通常会问ygc合适吗? 阿飞总结,可能需要2个维度,1.单位时间执行次数,2.执行时间 ps -p pid -o etime 查看下进程的运行时间, 17 ...
- JVM菜鸟进阶高手之路九(解惑)
转载请注明原创出处,谢谢! 在第八系列最后有些疑惑的地方,后来还是在我坚持不懈不断打扰笨神,阿飞,ak大神等,终于解决了该问题.第八系列地址:http://www.jianshu.com/p/7f7c ...
- JVM菜鸟进阶高手之路一(一次与笨神,阿飞近距离接触修改JVM)
转载请注明原创出处,谢谢! 今天在JVMPocket群里面看见,阿牛发了一个gc截图,之后ak47截图了特别恐怖,我就觉得好奇,去看看服务情况,截图日志如下 关于jstat命令详情可以参考:https ...
- JVM 菜鸟进阶高手之路九(解惑)
转载请注明原创出处,谢谢! 在第八系列最后有些疑惑的地方,后来还是在我坚持不懈不断打扰笨神,阿飞,ak大神等,终于解决了该问题.第八系列地址:http://www.cnblogs.com/lirenz ...
- JVM菜鸟进阶高手之路十二(jdk9、JVM方面变化, 蹭热度)
转载请注明原创出处,谢谢! 经过 4 次跳票,历经曲折的 Java 9 正式版终于发布了!今天看着到处都是jdk9发布了,新特性说明,心想这么好的蹭热度计划能错过嘛,哈哈,所以就发了这篇文章. 目前j ...
随机推荐
- 【Regular Expression】RE分类及案例
背景知识 正则表达式分为三类:基础正则表达式.扩展正则表达式.Perl正则表达式(Perl内建) 通俗来说,这三个一个比一个强大,支持的规则匹配字符更多 1.匹配IP ip addr | grep - ...
- Java并发基础——Thread
并发编程可以使我们将程序划分为多个分离的,独立运行的任务.通过多线程机制,这些独立任务都将由执行线程来驱动.在使用线程时,CPU将轮流给每个任务分配占用时间,每个任务都觉得自己在占用CPU,但实际上C ...
- Android笔记: 播放提示音 的简单方法
public static void sendSound(Context mContext) { //上下文 Uri mUri= RingtoneManager.getDefaultUri(Ringt ...
- 再起航,我的学习笔记之JavaScript设计模式15(组合模式)
组合模式 组合模式(Composite): 又称部分-整体模式,将对象组合成树形结构以表示"部分整体"的层次结构.组合模式使得用户对单个对象和组合对象的使用具有一致性. 如果有一个 ...
- Pyinstaller(python打包为exe文件)
需求分析: python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速. 当然打包的脚本似乎不是在所有的win平台下都能使用, ...
- javascript基础进阶——执行环境及作用域链
概念 执行环境 执行环境定义了变量或函数有权访问的其他函数,决定了他们各自的行为.每个执行环境都有一个与之关联的变量对象. 变量对象 环境中定义的所有变量和函数都保存在这个对象中. 全局执行环境 全局 ...
- c++ new 的相关
首先是一个链接 这里 说的很详细了 http://www.cnblogs.com/alephsoul-alephsoul/archive/2012/10/17/2728019.html 关于c++ ...
- C# 异步编程1 APM模式异步程序开发
C#已有10多年历史,单从微软2年一版的更新进度来看活力异常旺盛,C#中的异步编程也经历了多个版本的演化,从今天起着手写一个系列博文,记录一下C#中的异步编程的发展历程.广告一下:喜欢我文章的朋友,请 ...
- 互联网世界中的C语言——我的golang学习笔记:1(基础语法快速过)
前言 学习任何知识都会有一个学习背景 最近,我们团队乃至我司整个云服务,上go的呼声越来越高!新服务已经开始用go开发,部分现有Java版的服务重构为go也只是时间问题而已,故相关技术积累势在必行!在 ...
- C++学习日记(一)————类与对象
C++远征之封装篇(上)笔记 所有内容都是听课笔记,愿课堂视频如下: C++远征之封装篇(上)-慕课网http://www.imooc.com/learn/382 类和对象 1 什么是类,什么是对象 ...