arthas性能监控,本地调试方法

本文介绍了如何使用arthas进行性能监控和本地调试。首先,在目标进程中配置远程调试,然后通过arthas连接并监听指定进程。接着,通过arthas的命令设置监控选项,并观察监控结果。最后,分析源码中asm动态字节码插入的原理以及本地打包流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在目标监控进程(要查看该进程popularity中某个方法的性能) ,配置远程调试

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000

 

2、在arthas 中远程连接上要监控的进程的远程调试,配置如下的连接

127.0.0.1 8000

 

3、在arthas的控制台中,起动监听进程

as.bat pid 连接上去(pid为popularity 进程的本地进程id)

4、 arthas 源码中自动就会可以远程调用arthas的源码了。

 

5、使用如下命令进行验证

options save-result true   --保存结果

options dump true   --把监控的类dum出class文件,然后通过反编译文件进行查看

 options  json-format true   --把控制台输出的方法结果json化

$ watch com.test.mobile.popularity.service.cache.PopularityRankCache getCurNotFinishDay "{params,returnObj}" -x 2 -b   --起动监控,输出如下

 

$ watch com.test.mobile.popularity.service.cache.PopularityRankCache getCurNot
FinishDay "{params,returnObj}" -x 2 -b
Press Ctrl+C to abort.
[dump: G:\workspace\testweb\popularity\mobile-popularity\mobile-popularity-app\.\a
rthas-cla
### 安装与使用 Arthas #### 一、Arthas 的简介 Arthas 是一款基于 JVM Attach 技术开发的强大诊断工具,能够帮助开发者实时监控和分析 Java 应用程序的行为。它提供了诸如 `watch` 和 `tt` 等功能来捕获方法调用及其参数返回值,但需要注意的是,在生产环境中过度依赖这些功能可能影响服务性能[^1]。 --- #### 二、Mac 平台上的安装方式 对于 Mac 用户而言,存在两种主要的安装途径: 1. **通过脚本自动化安装** 使用以下命令下载并执行官方提供的安装脚本: ```bash curl -L https://arthas.aliyun.com/install.sh | sh ``` 此方式会自动完成必要的配置工作,并将 Arthas 脚本放置于 `/Users/[用户名]/` 下(例如 `/Users/dong/as.sh`)。如果遇到部分命令不可用的情况,可以通过 Homebrew 工具补充缺失组件,比如 Telnet: ```bash brew install telnet ``` 2. **手动下载 JAR 文件** 另一种更为灵活的方式是从官网直接获取 Arthas 启动器 jar 包: ```bash curl -O https://arthas.aliyun.com/arthas-boot.jar ``` 接着运行该文件即可启动 Arthas 控制台: ```bash java -jar arthas-boot.jar ``` 无论采取哪种方案,当控制台显示带有颜色的文字提示时表明初始化成功;此时还可以借助内置 Web UI 功能进一步探索数据详情——只需访问指定 URL 即可: ```plaintext http://127.0.0.1:8563/ ``` 或者查看默认端口下的 profiler 结果页面: ```plaintext http://localhost:3658/arthas-output/ ``` 以上链接均需确保对应的服务已正常开启才能正常使用[^2][^3]。 --- #### 三、基本操作流程 一旦完成了上述任意一种安装过程之后,就可以按照如下步骤开始实际应用了: - 执行相应入口脚本或命令加载目标进程列表; - 输入具体编号选定待调试的应用实例进入交互模式; - 利用丰富的指令集开展深入排查活动。 以下是几个常用的入门级命令举例说明: | 命令 | 描述 | |------------|----------------------------------------------------------------------| | thread | 展示当前线程状态概览 | | heapdump | 导出堆内存快照用于后续离线解析 | | monitor | 对某个类的方法执行耗时情况进行统计 | 更多高级特性和详尽指导建议参照其[官方文档](https://arthas.aliyun.com/doc/quick-start.html)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值