Java 的在线排查和分析工具

2017-02-22 10:18:27 +08:00
 abscasey
线上不能断点, 分析不知从何入手? greys值得入手:
https://github.com/oldmanpushcart/greys-anatomy
2612 次点击
所在节点    Java
4 条回复
mx1700
2017-02-22 20:14:10 +08:00
先收藏
0915240
2017-02-22 23:24:02 +08:00
关注下
abscasey
2017-02-23 14:17:00 +08:00
个人常用的有:
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
2017-02-23 16:04:40 +08:00
网上之前见到有人介绍这个诊断工具:
byteman 是 jboss 下的一个项目,是一个非常方便的 java 分析工具,能够拦截字节码执行,执行代码和修改变量,是一个诊断问题的利器。在 linux 下使用起来非常方便,不用对目标应用做任何修改,可以动态打开目标应用的监听端口,当然仅限于 openjdk , hotspot 和 jrockit , ibm jdk 不支持。

原文: http://hushi55.github.io/2014/12/31/byteman

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/342240

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX