排查java代码慢-arthas工具
1. 下载地址,arthas (gitee.io)
2. 下载的是一个zip包
3. 上传到服务器任意位置,解压
4. 查看java进程
ps -ef |grep 进程名称
显示结果的进程号是:109815
6. cd 到arthas根目录,执行命令,注意:一定要切到该进程的用户执行(su xxx)
java -jar arthas-boot.jar 109815
启动成功如下:
注意:如果是用systemctl启动的,注意下面位置,不然会报错:[ERROR] attach fail, targetPid: 6514,由于我们是用systemctl方式启动的java程序,而不是直接java -jar方式启动,xx.service文件注意如下:
[Service]
User=xxx
Group=xxx
PrivateTmp=false
7. 执行命令,出现红色字体就表示耗时较长:
trace 代码命令空间 代码函数
8 . 查看统计
java -jar arthas-boot.jar 进程号 --arthas-home /spc/tool/arthas
profiler start --event alloc
profiler getSamples
profiler stop --fomat html --file /spc/spc-check-2output.html
彪悍的人生不需要解释,彪悍的代码不需要注释。