V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
1cming
V2EX  ›  Java

有没有生产环境大规模机器 GCLOG 实时分析/JVM 内存分析工具或者最佳实践?

  •  
  •   1cming · 2021-11-03 16:10:20 +08:00 · 1422 次点击
    这是一个创建于 897 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:

    手里一批机器用于跑任务,总是跑着跑着就挂了。

    现在想先做一些采集,后期根据采集到的信息进一步分析。

    5 条回复    2021-11-04 10:20:16 +08:00
    dqzcwxb
        1
    dqzcwxb  
       2021-11-03 16:11:51 +08:00
    我用 arthas 排查
    zhady009
        2
    zhady009  
       2021-11-03 18:26:50 +08:00
    无论如何都要想尽办法拿到 heap dump
    gc 日志看不出什么的 只知道有问题但是不知道哪里有问题
    ysweics
        3
    ysweics  
       2021-11-03 19:39:53 +08:00
    2L+1,没 dump 文件,分析只能靠猜
    cheng6563
        4
    cheng6563  
       2021-11-03 19:44:50 +08:00
    日志没啥用的,尤其是内存泄漏造成的 OOM 的时候,引爆点往往不是泄漏点,甚至打日志的程序继续引发 OOM 。
    建议加-XX:+ExitOnOutOfMemoryError 参数启动,让其 OOM 的时候直接奔溃,然后由守护进程之类的重新拉起来,最好还要留下 dump 。
    RobberPhex
        5
    RobberPhex  
       2021-11-04 10:20:16 +08:00
    可以看下 GCToolkit 。
    “GCToolkit 工具包将 GC 日志文件解析为离散事件,并提供了一个 API 用于从这些事件聚合数据,使用户能够对由垃圾收集日志表示的 Java 虚拟机( JVM )中托管内存的状态进行任意复杂的分析。”
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   993 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:59 · PVG 03:59 · LAX 12:59 · JFK 15:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.