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

相关推荐

总时长140min实习+项目拷打+场景拷打实习拷打项目拷打场景:1.用户订单表索引设计,从插入,业务价值,查询多方面解释索引设计原理2.给出每行数据大小,计算单表建议数据量,分库分表相关内容3.Redis缓存场景,目前命中率90%,进一步提升?(过期时间,淘汰策略,数据结构优化)4.还有一部分不记得了到此基本1hour八股:1.Mysql索引类型,主键索引和聚簇索引的关系(我寻思叶子节点和其他索引的区别呢,结果说是一种实现,确实没想到)2.B+树 vs B树 vs B*树3.Java 集合类,List,Map不同实现类以及选型,红黑树和平衡二叉树选型4.ConcurrentHashMap 线程安全实现,为什么要用synchronized等等5.线程池核心参数,任务提交 > 消费速度时的行为,以及给出多个场景要求给出设置(答得稀烂)6.为何选 Kafka 而非 RabbitMQ,架构上等多方面区别7.Kafka 高吞吐原理(二进制协议,零拷贝等等),拉模式 vs 推模式适用场景8.MQ如何避免任务重复执行9. Spring Boot解决的核心问题,Springboot启动细节(这个完全不会,说不是自动配置以及服务器相关的,说可以往除了spring外的web框架想想,也是想不到)算法&手撕:1.三数之和2.线程池相关3.给出需求,要求接口以及实现按照设计模式范式编写真的好长啊,答的最烂的一次,面到最后快晕过去了(面试官也是昏昏欲睡)。最主要面试官技术很牛,每个八股,场景,项目问题都会追问到底层,业务价值等等层面。攒人品
投递淘天集团等公司6个岗位
点赞 评论 收藏
分享
评论
2
110
分享

创作者周榜

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