8.25网易二面面试JVM调优,大概率被问到!


最近我的同学遇到一个线上问题,线上机器的jvm进程频繁FullGC(大约每10分钟一次),登陆机器发现jvm参数只配置了最大堆内存,其他配置都是系统默认配置,问我如何排查并优化?
具体分析详见:

#网易#
全部评论
我的理解是利用visualvm去查看内存使用量曲线图,如果内存使用量一直维持在较高水平,那就是堆内存不够,需要调大一点。如果频繁发生抖动,那就是程序频繁生成对象并且进行回收,优化代码,保存可重用的对象不要频繁生成。如果内存使用量一直增长,那就是发生内存泄漏或者内存碎片,需要排查代码或者把cms收集器调成gc几次就执行一次标记整理算法来搞定内存碎片。
点赞
送花
回复
分享
发布于 2018-08-26 17:25
如果xms与xmx已经设置好了的话,可以排查一下对象的生命周期。进行频繁的full gc说明年老代分配太小或者持久对象存在较多,可以适当的增大年老代的内存空间。或者设置年龄阀值嘛。反正调优就是扯嘛-。-!
3
送花
回复
分享
发布于 2018-08-26 20:12
滴滴
校招火热招聘中
官网直投
马克
点赞
送花
回复
分享
发布于 2018-08-26 13:10
Mark
点赞
送花
回复
分享
发布于 2018-08-26 13:20
虽然没遇到过,但是有几次面试问我如果频繁FullGC该怎么做,我就说调整年轻代和老年代的比例
点赞
送花
回复
分享
发布于 2018-08-26 13:55
马克
点赞
送花
回复
分享
发布于 2018-08-26 14:36
是不是要设置-Xms参数,调成和-Xmx一样的大小,也就是jvm只有在达到最大内存时才开始gc。排查的话就是查gc日志,看full gc每次发生时的内存使用情况。我猜的,望指教!
点赞
送花
回复
分享
发布于 2018-08-26 16:10
mark
点赞
送花
回复
分享
发布于 2018-08-27 16:27
楼主你的连接地址失效了,能否重新发一个连接看看,thx
点赞
送花
回复
分享
发布于 2018-09-12 14:20
博客迁移了,最新地址  http://132.232.67.227:8080/articles/2018/08/31/1535708899829.html
点赞
送花
回复
分享
发布于 2018-09-14 21:53

相关推荐

2 107 评论
分享
牛客网
牛客企业服务