You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
arthas/_sources/manual-install.md.txt

107 lines
3.5 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

手动安装Arthas
===
## 手动安装Arthas
1. 下载最新版本
**最新版本,点击下载**[![Arthas](https://img.shields.io/maven-central/v/com.taobao.arthas/arthas-packaging.svg?style=flat-square "Arthas")](http://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=com.taobao.arthas&a=arthas-packaging&e=zip&c=bin&v=LATEST)
如果下载速度比较慢,可以尝试用[阿里云的镜像仓库](https://maven.aliyun.com/),比如要下载`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
2. 解压缩arthas的压缩包
```
unzip arthas-packaging-bin.zip
```
3. 安装Arthas
安装之前最好把所有老版本的Arthas全都删掉
```
sudo su admin
rm -rf /home/admin/.arthas/lib/*
cd arthas
./install-local.sh
```
> 注意这里根据你需要诊断的Java进程的所属用户进行切换
4. 启动Arthas
启动之前请确保老版本的Arthas已经`shutdown`.
```
./as.sh
```
## 以脚本的方式启动as.sh/as.bat
### Linux/Unix/Mac
Arthas 支持在 Linux/Unix/Mac 等平台上一键安装,请复制以下内容,并粘贴到命令行中,敲 `回车` 执行即可:
```bash
curl -L https://alibaba.github.io/arthas/install.sh | sh
```
上述命令会下载启动脚本文件 `as.sh` 到当前目录,你可以放在任何地方或将其加入到 `$PATH` 中。
直接在shell下面执行`./as.sh`,就会进入交互界面。
也可以执行`./as.sh -h`来获取更多参数信息。
### Windows
最新版本,点击下载:[![Arthas](https://img.shields.io/maven-central/v/com.taobao.arthas/arthas-packaging.svg?style=flat-square "Arthas")](http://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=com.taobao.arthas&a=arthas-packaging&e=zip&c=bin&v=LATEST)
下载解压后在bin目录有 `as.bat`。此脚本暂时只接受一个参数 pid即只能诊断本机上的 Java 进程。欢迎精通bat脚本的开发者改进
```
as.bat <pid>
```
## 手动拼接命令行启动
如果启动遇到问题,可以尝试手动拼接出命令行参数来启动。
1. 查找目录jvm的java文件路径。
在linux/mac上执行`ps aux | grep java`在windows上可以通过进程管理器来查看。假设是`/opt/jdk1.8/bin/java`。
2. 拼接出命令行
```bash
/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`里。
3. attach成功之后使用telnet连接
```bash
telnet 127.0.0.1 3658
```