面试问题

OOM排查

工具: jstack、jmap

ps 命令找到对应进程的 pid(如果你有好几个目标进程,可以先用 top 看一下哪个占用比较高)

pid 转换为 16 进制:printf '%x\n' pid 得到 nid

在 jstack 中找到相应的堆栈信息jstack pid |grep 'nid' -C5 –color

查看某进程的线程总数: pstree -p pid |wc -l

导出堆转储文件,用于分析堆内存使用情况 jmap -dump:format=b,file=./logs/heapdump.hprof pid

系统挂了就没法分析堆信息了,可以加在启动命令里:

-XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./logs/

IDEA直接打开 .hprof文件进入分析视图

堆内存满会发生fullGC,GC后依然满,将OutOfMemoryError(OOM)

打印堆使用信息:jhsdb jmap --heap --pid 10465

VisualVM 或者同名IDEA插件用来分析堆转储文件

海量数据转移:ES、mysql

高并发接口设计

全部评论
oom是最难排查的,你这只是看上层的,看看内核的那就难度升级了
点赞 回复 分享
发布于 09-26 11:55 陕西

相关推荐

09-11 16:04
门头沟学院 Java
青禾111:面我的小红书面试官傲慢无礼
我的秋招日记
点赞 评论 收藏
分享
评论
2
11
分享

创作者周榜

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