V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
abscasey
V2EX  ›  Java

Java 的在线排查和分析工具

  •  
  •   abscasey · Feb 22, 2017 · 3545 views
    This topic created in 3359 days ago, the information mentioned may be changed or developed.
    线上不能断点, 分析不知从何入手? greys值得入手:
    https://github.com/oldmanpushcart/greys-anatomy
    4 replies    2017-02-23 16:04:40 +08:00
    mx1700
        1
    mx1700  
       Feb 22, 2017 via Android
    先收藏
    0915240
        2
    0915240  
       Feb 22, 2017
    关注下
    abscasey
        3
    abscasey  
    OP
       Feb 23, 2017
    个人常用的有:
    1 线上性能分析
    如果发现某些服务过慢, 响应有问题, 耗时在哪里可以使用: trace 或 ptrace(trace 增强版, 可以通过条件加路径指定查看)各调用的耗时
    如: ptrace com.test..TemplateActionItemPublish execute params[0].getAction().equals("light-render") --path=com.test.*.repository*

    2 线上数据记录
    当线上无法断点时, 或分析某次线上调用时, 通过 tt 来记录, 当前调用的输入和输出

    3 top 线程查看
    直接使用 top 命令查看, 各线程的 cpu 占用, 以及其调用栈, 省去 dump 线程再分析的各种过程
    iamtz
        4
    iamtz  
       Feb 23, 2017
    网上之前见到有人介绍这个诊断工具:
    byteman 是 jboss 下的一个项目,是一个非常方便的 java 分析工具,能够拦截字节码执行,执行代码和修改变量,是一个诊断问题的利器。在 linux 下使用起来非常方便,不用对目标应用做任何修改,可以动态打开目标应用的监听端口,当然仅限于 openjdk , hotspot 和 jrockit , ibm jdk 不支持。

    原文: http://hushi55.github.io/2014/12/31/byteman
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2814 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 08:58 · PVG 16:58 · LAX 01:58 · JFK 04:58
    ♥ Do have faith in what you're doing.