手动安装Arthas¶
手动安装Arthas¶
下载最新版本
如果下载速度比较慢,可以尝试用阿里云的镜像仓库,比如要下载
3.x.x
版本(替换3.x.x
为最新版本),下载的url是:https://maven.aliyun.com/repository/public/com/taobao/arthas/arthas-packaging/3.x.x/arthas-packaging-3.x.x-bin.zip
解压缩arthas的压缩包
unzip arthas-packaging-bin.zip
安装Arthas
安装之前最好把所有老版本的Arthas全都删掉
sudo su admin rm -rf /home/admin/.arthas/lib/* cd arthas ./install-local.sh
注意,这里根据你需要诊断的Java进程的所属用户进行切换
启动Arthas
启动之前,请确保老版本的Arthas已经
shutdown
../as.sh
以脚本的方式启动as.sh/as.bat¶
Linux/Unix/Mac¶
Arthas 支持在 Linux/Unix/Mac 等平台上一键安装,请复制以下内容,并粘贴到命令行中,敲 回车
执行即可:
curl -L https://alibaba.github.io/arthas/install.sh | sh
上述命令会下载启动脚本文件 as.sh
到当前目录,你可以放在任何地方或将其加入到 $PATH
中。
直接在shell下面执行./as.sh
,就会进入交互界面。
也可以执行./as.sh -h
来获取更多参数信息。
手动拼接命令行启动¶
如果启动遇到问题,可以尝试手动拼接出命令行参数来启动。
查找目录jvm的java文件路径。
在linux/mac上执行
ps aux | grep java
,在windows上可以通过进程管理器来查看。假设是/opt/jdk1.8/bin/java
。拼接出命令行
/opt/jdk1.8/bin/java -Xbootclasspath/a:/opt/jdk1.8/lib/tools.jar \ -jar /tmp/arthas-packaging/arthas-core.jar \ -pid 15146 \ -target-ip 127.0.0.1 -telnet-port 3658 -http-port 8563 \ -core /tmp/arthas-packaging/arthas-core.jar \ -agent /tmp/arthas-packaging/arthas/arthas-agent.jar
命令行分几部分组成:
-Xbootclasspath
增加tools.jar-jar /tmp/arthas-packaging/arthas-core.jar
指定main函数入口-pid 15146
指定目标java进程ID-target-ip 127.0.0.1
指定IP-telnet-port 3658 -http-port 8563
指定telnet和http端口-core /tmp/arthas-packaging/arthas-core.jar -agent /tmp/arthas-packaging/arthas/arthas-agent.jar
指定core/agent jar包
如果是
jdk > 9
,即9/10/11以上的版本,不需要指定tools.jar
,直接去掉-Xbootclasspath
的配置即可。启动目志输出在
~/logs/arthas/arthas.log
里。attach成功之后,使用telnet连接
telnet 127.0.0.1 3658