---
source: "https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/daf9d12c-a966-47ba-9be0-d4eb81920539"
publicId: "daf9d12c-a966-47ba-9be0-d4eb81920539"
---

# 使用arthas定位文件服务相关问题

### 一、运维平台确定文件服务weaver-file-service所属服务名

运维平台web端 → 升级中心 → 升级助手 → 服务版本 → 搜索weaver-file-service → 获取到所属服务名

![CleanShot 2025-06-23 at 11.01.06.gif](https://weapp.eteams.cn/api/file/preview?fileId=1148679717755199585&type=imgs)

### 二、基于一，登录weaver-file-service所属服务的服务器（ssh）

图例工具仅为展示，不同ssh客户端登录方式各有差距，请自行确定

![CleanShot 2025-06-23 at 11.53.45.gif](https://weapp.eteams.cn/api/file/preview?fileId=1148692684262744077&type=imgs)

### 三、获取arthas工具jar

```
# 1. 获取运维平台所属根目录
ps -ef | grep e-monitor

# 2.
cd ${运维平台所属根目录}/arthas

# 3. 上一步的目录不存在就进入这个目录
cd ${运维平台所属根目录}/app/arthas

# 4. 确定存在arthas-boot.jar
ls | grep arthas-boot.jar

# (备选) 如果1查询不到则执行这个找到arthas的路径并进入
find ./ -name 'arthas'
```

![CleanShot 2025-06-23 at 10.48.38.gif](https://weapp.eteams.cn/api/file/preview?fileId=1148675989815861310&type=imgs)

![image.png](https://weapp.eteams.cn/api/file/preview?fileId=1148676479341469764&type=imgs)

### 四、获取weaver-file-service所属服务的线程ID

基于【一、运维平台确定文件服务weaver-file-service所属服务名】的服务名抓取线程ID

```
# ${service-name}请替换为实际服务名，请勿直接复制粘贴
ps -ef | grep ${service-name} | grep -v grep | awk '{print $2}'
```

图示中的eteams-file请勿直接照抄，请更换实际的weaver-file-service所属服务名![CleanShot 2025-06-23 at 11.12.29.gif](https://weapp.eteams.cn/api/file/preview?fileId=1148682097185136693&type=imgs)

### 五、获取服务使用的jdk绝对路径

```
# ${service-name}请替换为实际服务名，请勿直接复制粘贴
ps -ef | grep ${service-name} | grep -v grep | awk '{print $8}'

# 如果第一步并为得到含有/bin/java字符串的输出结果，则需要手动截取包含/bin/java的绝对路径
ps -ef | grep ${service-name} | grep '/bin/java'
```

### ![CleanShot 2025-06-23 at 11.23.32.gif](https://weapp.eteams.cn/api/file/preview?fileId=1148684884617633831&type=imgs)

![CleanShot 2025-06-23 at 11.27.21.gif](https://weapp.eteams.cn/api/file/preview?fileId=1148685881108652093&type=imgs)

### 六、确保当前登录用户与服务执行用户一致

![image.png](https://weapp.eteams.cn/api/file/preview?fileId=1148687478804062213&type=imgs)

### 七、启动arthas工具

> 在arthas中输入类路径时，可以用tab键补全

```bash

# 确保当前在arthas-boot.jar所处的目录下执行以下指令,切勿直接复制粘贴，将变量占位替换为实际值
${五、获取服务使用的jdk绝对路径} -jar arthas-boot.jar ${四、获取weaver-file-service所属服务的线程ID}
```

![CleanShot 2025-06-23 at 11.35.01.gif](https://weapp.eteams.cn/api/file/preview?fileId=1148687805128171587&type=imgs)

在arthas中输入类路径时，可以用tab键补全

![CleanShot 2025-06-23 at 11.48.41.gif](https://weapp.eteams.cn/api/file/preview?fileId=1148691696343375887&type=imgs)

### 八、使用完之后需要手动退出

```
exit
```

![CleanShot 2025-06-23 at 11.36.10.gif](https://weapp.eteams.cn/api/file/preview?fileId=1148688084284268617&type=imgs)

### 九、定位示例

1. 定位第三方加解密插件二开在文件服务中是否生效

```
watch com.weaver.teams.file.e10.manager.storage.chain.process.StoThirdPlugEncDecProcess getOpenEncryptFunction "{params,returnObj}" -x 4
```

![CleanShot 2025-06-23 at 11.43.51.gif](https://weapp.eteams.cn/api/file/preview?fileId=1148690115954909232&type=imgs)
