背景:
手里一批机器用于跑任务,总是跑着跑着就挂了。
现在想先做一些采集,后期根据采集到的信息进一步分析。
1
dqzcwxb 2021-11-03 16:11:51 +08:00
我用 arthas 排查
|
2
zhady009 2021-11-03 18:26:50 +08:00
无论如何都要想尽办法拿到 heap dump
gc 日志看不出什么的 只知道有问题但是不知道哪里有问题 |
3
ysweics 2021-11-03 19:39:53 +08:00
2L+1,没 dump 文件,分析只能靠猜
|
4
cheng6563 2021-11-03 19:44:50 +08:00
日志没啥用的,尤其是内存泄漏造成的 OOM 的时候,引爆点往往不是泄漏点,甚至打日志的程序继续引发 OOM 。
建议加-XX:+ExitOnOutOfMemoryError 参数启动,让其 OOM 的时候直接奔溃,然后由守护进程之类的重新拉起来,最好还要留下 dump 。 |
5
RobberPhex 2021-11-04 10:20:16 +08:00
可以看下 GCToolkit 。
“GCToolkit 工具包将 GC 日志文件解析为离散事件,并提供了一个 API 用于从这些事件聚合数据,使用户能够对由垃圾收集日志表示的 Java 虚拟机( JVM )中托管内存的状态进行任意复杂的分析。” |