博主介绍: ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌
Java知识图谱点击链接:体系化学习Java(Java面试专题)
💕💕 感兴趣的同学可以收藏关注下 ,不然下次找不到哟💕💕
1、下载插件包
arthas 手动下载安装包
2、解压
linux 解压命令 unzip arthas-packaging-3.6.0-bin.zip
3、安装
linux 上执行 ./install-local.sh
4、启动
启动命令 ./as.s
注意端口号如果被占用,就需要用另一个命令了:
java -jar arthas-boot.jar --telnet-port xxxx --http-port -1
然后可以选择一个进程(输入1234这种编号),然后回车。
启动后的错误1: Error: telnet is not installed. Try to use java -jar arthas-boot.jar
因为我这里是新服务器,没有安装telent。
linux 安装 telnet 服务:
yum install telnet-server 安装telnet服务
yum install telnet.* 安装telnet客户端
因为我这边是华为云的服务器,又出现一个错:Failed to download metadata for repo 'AppStream': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
这个主要是:CentOS社区不再提供针对CentOS 6和CentOS 8的安全补丁更新及镜像源支持,相应的镜像源软件包已经从CentOS 6和CentOS 8的源地址中移除,第三方镜像中也均已移除CentOS 6和CentOS 8的源。
参考: https://support.huaweicloud.com/ecs_faq/ecs_faq_1009.html
如果还是解决不了,那就华为云上发个工单,很快他们会联系你解决的。
华为云给的三个命令
mkdir -p /etc/yum.repos.d/repo_bak/
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo_bak/
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.myhuaweicloud.com/repo/CentOS-Base-8.repo
sed -i "s@http://mirrors.myhuaweicloud.com@https://repo.huaweicloud.com/centos-vault@g" /etc/yum.repos.d/CentOS*repo
5、总结
5.1、arthas 的优缺点
Arthas是一款Java诊断工具,它提供了丰富的功能来帮助开发人员进行应用程序的故障排查和性能优化。以下是Arthas的一些优点和缺点:
优点:
- 强大的诊断功能:Arthas提供了丰富的诊断功能,包括查看方法执行时间、查看方法的调用堆栈、动态修改方法参数和返回值等。这些功能可以帮助开发人员快速定位和解决应用程序的问题。
- 便捷的使用方式:Arthas使用命令行界面,可以在运行中的应用程序中直接进行诊断,无需重启应用程序或修改代码。这使得开发人员可以方便地进行实时的故障排查和性能优化。
- 可扩展性强:Arthas提供了丰富的插件机制,可以通过编写插件来扩展其功能。开发人员可以根据自己的需求编写自定义的插件,以满足特定的诊断和调试需求。
缺点:
- 学习成本较高:Arthas虽然功能强大,但使用起来需要一定的学习成本。开发人员需要熟悉Arthas的命令和用法,以及Java虚拟机的相关知识。对于初学者来说,可能需要花费一些时间来掌握和使用Arthas。
- 对生产环境有一定影响:Arthas在应用程序中会注入一些Agent代码,这可能会对应用程序的性能产生一定的影响。在生产环境中使用Arthas时,需要注意对应用程序性能的影响,并谨慎选择需要开启的诊断功能,以避免影响应用程序的正常运行。
总体来说,Arthas是一款功能强大的Java诊断工具,可以帮助开发人员快速定位和解决应用程序的问题。但在使用时需要注意学习成本和对应用程序性能的影响。
5.2、arthas 的应用场景
Arthas的应用场景非常广泛,主要用于Java应用程序的故障排查和性能优化。以下是Arthas的一些常见应用场景:
- 故障排查:Arthas可以帮助开发人员快速定位和解决应用程序的故障。通过查看方法的调用堆栈、查看方法执行时间、监控方法的入参和返回值等功能,开发人员可以追踪和分析应用程序的执行流程,找出问题所在。
- 性能优化:Arthas提供了丰富的性能分析工具,可以帮助开发人员找出应用程序中的性能瓶颈,并进行优化。例如,通过查看方法的执行时间和调用次数,开发人员可以找出耗时较长的方法,然后针对性地进行优化。
- 动态修改代码:Arthas支持动态修改方法的参数和返回值,这对于一些需要快速验证和调试的场景非常有用。开发人员可以在运行中的应用程序中动态修改方法的参数和返回值,以验证代码逻辑和排查问题。
- 监控应用程序状态:Arthas提供了监控应用程序状态的功能,可以实时查看应用程序的各种指标,如CPU使用率、内存使用情况、线程状态等。这对于监控和调优应用程序的性能非常有帮助。
总的来说,Arthas适用于各种Java应用程序的诊断和调试场景,无论是开发环境还是生产环境。它可以帮助开发人员快速定位和解决应用程序的问题,提高应用程序的性能和稳定性。
1、arthas 的官方文档2、linux上 arthas 的安装