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


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

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

相关推荐

如题,本科成绩很差,硕士成绩还可以
堵星汉:如果不是用人单位提出来的话不要主动给 别给自己挖坑
点赞 评论 收藏
分享
评论
2
110
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务