JVM 篇之 牛刀小试 (二)(PS:之前请教我的小伙子校招去了字节~)
创始人
2024-03-29 01:50:43
0

闲聊


  1. 最近在学jvm,当然这是一个持续过程,知行合一对吧,学习之后立马去应用,才能验证你学到是不是有用的东西。
  2. 大家看过我上一篇写的博客么,之前在csdn请教过我的一个小伙子,最近我看他已经入职字节跳动了,我觉得很开心,因为当你身边都是厉害的人,你才有可能成为更优秀的自己。

他当时是参加一个开源社区一个叫开源之夏的活动,就是一些高学历同学,学校还有社区会给他们提供一个机会来接触开源的框架,然后领取任务去实现,当时我记得他去领的是腾讯那套go框架 Tars-Go流量染色功能,刚好那会我也在搞全链路灰度,就指点了一下

在寒冬里,不要丧失斗志

image.png

JVM 优化一:G1 打开并发标记


在G1的垃圾回收流程中,并发标记是不会stop the world,依靠初始标记的GC ROOT相关的根对象,然后在并发标记的时候,找到对应的引用对象。那么可以打开并发标记,这样提高标记的效率~

我们从下面 测试环境跟本地调优差异 就能看到开启并发标记的垃圾回收时间会快很多。

年轻代参数


当没有设置年轻代容量的时候,我们算下S0C+S1C+EC Eden+2Survivor内存大概600M

那么我们设置-Xmn500m参数的时候,我们可以看到ygc时间更长

所以年轻代参数暂时不设置!当然这个需要具体一个一个数值去尝试。

测试环境跟本地调优差异


现象:通过jstat -gc 1 2000 10发现测试环境的YGC时间比本地长很多

加上 -XX:+PrintGCDetails

本地

测试环境

结果:我们可以看到G1标识清理时间比本地是要时间长很多的,原因大概是机器处理线程数不一样,我们知道G1在垃圾回收阶段:1、初始标记 2、并发标记 3、重新标记 4、标记-清理 并发标记阶段,跟处理线程数量是有关系的。

看下第二行打印:Using 8 workers of 8 for evacuation 本地是8个处理线程数,测试环境是2个处理线程数

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...