arthas(阿尔萨斯)使用实践----查看慢方法 /方法耗时等

Posted shay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arthas(阿尔萨斯)使用实践----查看慢方法 /方法耗时等相关的知识,希望对你有一定的参考价值。

初次使用时的一些问题

[ERROR] Target process 116477 is not the process using port 3658, you will connect to an unexpected process.

[ERROR] 1. Try to restart arthas-boot, select process 90686, shutdown it first with running the ‘stop‘ command.

[ERROR] 2. Or try to use different telnet port, for example: java -jar arthas-boot.jar --telnet-port 9998 --http-port -1

这个问题初用者必出,原因为 arthas 选择一个应用进行诊断时弄了一个 session,可以使用 arthas-client web arthas client 进行登录,这个提示告诉你要先关闭以前的 arthas-boot ,或者重新选择一个端口

你可以这么做,在 ~/.arthas/lib/3.1.7/arthas 下有一个 arthas-client.jar 使用 java -jararthas-client.jar 可以进入上次的 session shutdown 后就可以选择其它的进程进行诊断了,或者你可以继续诊断当前应用

 

退出art has:shutdown

 

 

github项目地址:https://github.com/alibaba/arthas

 进入要监控的那个服务所在的机器上,切换到deploy 用户

 

下载并运行:

wget https://alibaba.github.io/arthas/arthas-boot.jar

java -jar arthas-boot.jar

 

 

查看慢方法 

命令:trace 类路径 类方法名

示例: trace  com.xxx.helper.impl.xxxxImpl useExchangeVoucher

           技术图片             

查看方法耗时

命令 :tt -t 类路径 类方法名

示例:tt -t com.xxxx.helper.impl.xxxxImpl useExchangeVoucher

 

 

查看线程状态

命令: thread 

查看所有线程状态

 

 

 

命名: thread [threadId]

 

 

thread -b 查看阻塞的线程

thread -n [number]查看占用cpu最高的前number个线程

 

 

arthas常见的操作实例

1.替代dev环境下用LogUtils.COMMON.debug进行调试。

查看接口入参和返回值

命令:watch com.xxxiface.xxxIface couponList "{params,returnObj}" -x 2 

 

 

2.Exception 异常排查。

tt -t {interface} {method} 

tt -i {id} -w ‘throwExp‘

 

 

【此图来源于网络】

也可以通过 watch {interface} {method} "throwExp" -x 2    查看异常

 

 

更多【https://github.com/alibaba/arthas/issues?utf8=%E2%9C%93&q=label%3Auser-case+

 

https://juejin.im/post/5b6b986c6fb9a04fd1603f4a#heading-30 

以上是关于arthas(阿尔萨斯)使用实践----查看慢方法 /方法耗时等的主要内容,如果未能解决你的问题,请参考以下文章

整个阿里都在用的线上问题分析诊断神器 Arthas(阿尔萨斯),确定不来看一下?

Arthas(阿尔萨斯)-java诊断工具-----来源于网络

java诊断神器 arthas(阿尔萨斯)

arthas底层实现原理剖析

arthas底层实现原理剖析

arthas底层实现原理剖析