|
|
|
@ -8,7 +8,6 @@
|
|
|
|
|
|
|
|
|
|
日志文件路径: `~/logs/arthas/arthas.log`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### telnet: connect to address 127.0.0.1: Connection refused
|
|
|
|
|
|
|
|
|
|
1. 检查日志 `~/logs/arthas/arthas.log`
|
|
|
|
@ -17,19 +16,16 @@
|
|
|
|
|
4. 如果`LISTEN 3658` 端口的进程不是 `java` 进程,则`3658`端口已经被占用。需要在`as.sh`/`arthas-boot.jar` 的启动参数指定其它端口。
|
|
|
|
|
5. 确认进程和端口后,尝试用`telnet 127.0.0.1 3658`去连接
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
本质上`arthas`会在应用java进程内启动一个`tcp server`,然后使用`telnet`去连接它。
|
|
|
|
|
|
|
|
|
|
1. 可能端口不匹配
|
|
|
|
|
2. 可能进程本身已经挂起,不能接受新连接
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
如果Arthas 日志里有 `Arthas server already bind.`
|
|
|
|
|
|
|
|
|
|
1. 说明`Arthas server`曾经启动过,检查目标进程打开的文件描述符。如果是`linux`环境,可以去 `/proc/$pid/fd` 下面,使用`ls -alh | grep arthas`,检查进程是否已加载`arthas`相关的 jar 包。
|
|
|
|
|
2. 如果没有,那么可能已启动`arthas`的是其它进程,也可能应用已经重启过了。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Arthas attach 之后对原进程性能有多大的影响
|
|
|
|
|
|
|
|
|
|
[https://github.com/alibaba/arthas/issues/44](https://github.com/alibaba/arthas/issues/44)
|
|
|
|
|