金三银四跳槽季即将到来,相信大家都在积极准备,关于oom与jvm调优的问题也越来越多。不得不说,大家都挺辛苦的。明明是初学者,明明只是想找到一份工作,明明没有机会接触oom与调优……却被现实逼着必须去理解jvm、oom、调优……本文结合大厂与小厂的同学们常问的问题,结合我的工作经验整理总结。只要你能看懂、理解、记住这些内容,当面试官再次问到oom与调优时,你一定能给出令人满意的答案。
阅读完这篇文章,你将获得以下知识:
1、什么是OOM
2、为什么会发生OOM
3、哪些区域会发生OOM
4、JVM进程崩溃时可能的原因
5、生产环境的JVM无响应时,如何快速定位问题
6、子牙老师给你的一些成熟的调优建议
01
什么是OOM
OOM是Out Of Memory的缩写,即内存溢出。
02
超能文献
超能文献是一款革命性的AI驱动医学文献搜索引擎。
14 查看详情
为什么会发生OOM
如果面试官问到这个问题,我知道大家都能说出一大堆,但建议你只需回答以下三句话,简洁明了:
业务正常运行需要较多的内存,而JVM设置的内存太小。具体表现为程序无法启动,或运行一段时间后崩溃。GC回收内存的速度跟不上程序消耗内存的速度。这种情况通常是由于向list、map中填充大量数据所致,内存紧张时JVM拆东墙补西墙也补不过来。所以记得分页查询啊!不需要的字段,尤其是数据量大的字段,就不要返回了!比如文章的内容。存在内存泄漏情况,时间长了也会导致OOM。哪些情况会造成内存泄漏呢?例如,打开文件不释放、创建网络连接不关闭、不再使用的对象未断开引用关系、使用静态变量持有大对象引用……



有些朋友可能会说:我有无数种方法让JVM崩溃,但如何让它持续运行或运行得更久更好呢?





如果你发现OOM发生在类加载器相关的方法上,那一定是元空间OOM。
怎么样,学会了吗?
如果发生OOM时没有开启JVM自动dump内存的设置,那你可以准备逃跑了,老板正拿着大刀赶来!


以上就是超快速定位OOM,值得收藏的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/457720.html
微信扫一扫
支付宝扫一扫