OOM 面试到底怎么回答?

2020-10-20 11:55:21 +08:00
 miaeLKK

呃…转行做 java 程序员已经 4 年,确实没遇到过这个问题,最近面试,其他的还好,没想到这个问题被问得颜面扫地,说我不够了解内存模型,确实了解的少…我只说出了堆栈方法区…

问我如何排查,我说看日志,看代码,看 cpu 使用量,他说要是还有问题呢?我无言了

所以这个问题该怎么回答?

3028 次点击
所在节点    Java
8 条回复
miaeLKK
2020-10-20 12:00:21 +08:00
为什么没看到我写的内容?请允许我重新发一次。。

呃…转行做 java 程序员已经 4 年,确实没遇到过这个问题,最近面试,其他的还好,没想到这个问题被问得颜面扫地,说我不够了解内存模型,确实了解的少…我只说出了堆栈方法区…

问我如何排查,我说看日志,看代码,看 cpu 使用量,他说要是还有问题呢?我无言了

所以这个问题该怎么回答?
chendy
2020-10-20 12:12:51 +08:00
排查 oom ?
加参数,oom 的时候 dump 堆,拉下来分析
chmlai
2020-10-20 12:23:56 +08:00
找本深入 JVM 的书看看就好了吧
RedBeanIce
2020-10-20 12:51:07 +08:00
1,启动的时候设置自动打 dump
2,问题发生时去 dump

https://www.yuque.com/docs/share/c46d0d0e-5cf8-4d08-b45e-9b3577094395?# 《 outOfMemoryError 》
miaeLKK
2020-10-20 13:07:02 +08:00
@RedBeanIce 这么复杂…话说这些对科班来说都是基础吗…
RedBeanIce
2020-10-20 13:45:52 +08:00
@miaeLKK
5# 不是基础,这是 JVM 扩展,正常来讲,中级左右才会问这些

需要有前置知识,至少了解 JVM 内存分区,Linux 基础等等。
Boyce
2020-10-20 20:14:20 +08:00
我觉得都转行 4 年了,这时候就不需要区分是否是科班了吧。想必没有哪个科班的计算机课程会教如何调试 JAVA 吧。
xixinimei
2020-10-20 20:19:55 +08:00
之前搞 mapreduce 排查过一次。dump 搞出来用 ema 等工具分析一下。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/716659

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX