呃…转行做 java 程序员已经 4 年,确实没遇到过这个问题,最近面试,其他的还好,没想到这个问题被问得颜面扫地,说我不够了解内存模型,确实了解的少…我只说出了堆栈方法区…
问我如何排查,我说看日志,看代码,看 cpu 使用量,他说要是还有问题呢?我无言了
所以这个问题该怎么回答?
1
miaeLKK OP 为什么没看到我写的内容?请允许我重新发一次。。
呃…转行做 java 程序员已经 4 年,确实没遇到过这个问题,最近面试,其他的还好,没想到这个问题被问得颜面扫地,说我不够了解内存模型,确实了解的少…我只说出了堆栈方法区… 问我如何排查,我说看日志,看代码,看 cpu 使用量,他说要是还有问题呢?我无言了 所以这个问题该怎么回答? |
2
chendy 2020-10-20 12:12:51 +08:00
排查 oom ?
加参数,oom 的时候 dump 堆,拉下来分析 |
3
chmlai 2020-10-20 12:23:56 +08:00
找本深入 JVM 的书看看就好了吧
|
4
RedBeanIce 2020-10-20 12:51:07 +08:00 1
1,启动的时候设置自动打 dump
2,问题发生时去 dump https://www.yuque.com/docs/share/c46d0d0e-5cf8-4d08-b45e-9b3577094395?# 《 outOfMemoryError 》 |
5
miaeLKK OP @RedBeanIce 这么复杂…话说这些对科班来说都是基础吗…
|
6
RedBeanIce 2020-10-20 13:45:52 +08:00
|
7
Boyce 2020-10-20 20:14:20 +08:00
我觉得都转行 4 年了,这时候就不需要区分是否是科班了吧。想必没有哪个科班的计算机课程会教如何调试 JAVA 吧。
|
8
xixinimei 2020-10-20 20:19:55 +08:00
之前搞 mapreduce 排查过一次。dump 搞出来用 ema 等工具分析一下。
|