1、安装
curl -O https://arthas.aliyun.com/arthas-boot.jar
2、运行
java -jar arthas-boot.jar
3、选择监控的程序端口
运行后如下:第二个是我的后端程序,我选择2后回车
4、监控代码块
trace com.example.demo.service.impl.LoginServiceImpl login
运行命令后:
调用一次方法后:
上面就可以看到各部分的耗时及占比、代码行数,耗时相对较长的部分也有红色标出,当然trace命令还有很多其他参数,这里不过多介绍,请自行查阅。
q或者ctrl+c退出命令
5、退出程序
stop
切忌要切换监控的目标程序时,一定要stop退出,再启动arthas,不然会被端口占用。导致下面的错误:
[INFO] arthas home: /root/.arthas/lib/3.5.0/arthas
[ERROR] The telnet port 3658 is used by process 27820 instead of target process 24012, you will connect to an unexpected process.
[ERROR] 1. Try to restart arthas-boot, select process 27820, shutdown it first with running the 'stop' command.
[ERROR] 2. Or try to stop the existing arthas instance: java -jar arthas-client.jar 127.0.0.1 3658 -c "stop"
[ERROR] 3. Or try to use different telnet port, for example: java -jar arthas-boot.jar --telnet-port 9998 --http-port -1
[root@sian-application-dev tools]# java -jar arthas-boot.jar