Arthas
阿里开源的线上调试工具,可以做到代码性能监控,查看 JVM的实时运行状态, 代码反编译查看线上代码 等等
Arthas支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式
提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断
Arthas 查看线上环境某一个接口性能 那些行用时较长,针对性优化
前提
首先需要有 Arthas 以及具备 Java 环境变量
- 获取到 Arthas 压缩包后解压到某一个路径下 在文件夹下会有 arthas-boot.jar 这样的一个jar, 然后直接在当前 jar 所在路径 或者直接使用绝对路径下来运行 Arthas
例如:Arthas被放在 /usr/local 下则如下执行
java -jar /usr/local/arthas/arthas-boot.jar
即可
- 完成后如果有一个或多个Java 进程会出现一个列表,直接输入 进程前的序号 然后回车即可进入使用状态
- 定位某一个类下 某一个方法的执行时间情况则如下
trace com.mytest.exchange.restful.TestController xxxx方法名
trace 方法内部调用路径,并输出方法路径上每个节点耗时 注意空格不要丢了 输入完成后回车,然后在页面或者其他方式触发对应的请求 请求结束后会出现每一行的用时以及总用时的统计
其他
monitor
方法执行监控
watch
方法执行数据观测
trace
方法内部调用路径,并输出方法路径上每个节点耗时
stack
输出当前方法被调用的调用路径
tt
方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测