Arthas-Java诊断工具
arthas
IT_狂奔者
当你感到悲哀痛苦时,最好是学些什么东西;学习会使你永远立于不败之地。
展开
-
线下环境安装Arthas(阿尔萨斯)报错
方式一安装Arthascurl -L https://alibaba.github.io/arthas/install.sh | sh启动Arthas./as.sh报unzip错误Error: unzip is not installed. Try to use java -jar arthas-boot.jar安装unzipyum -y install telnet.x86_64 unzip zip再次执行 ./as.sh出现久违的界面方式二官网推荐安装方原创 2020-09-29 14:39:43 · 840 阅读 · 0 评论 -
arthas命令redefine实现Java热更新
Arthas非常重要的命令redefine,主要作用是加载外部的.class文件,用来替换JVM已经加载的类,总结起来就是实现了Java的热更新。redefine在一下几种情况中会失败:1、增加了field;2、增加了method;3、替换正在运行的方法。前两个比较好理解,第三个意思就是这个方法必须结束之后才会被替换,如果有个方法开始运行之后就不会跳出,那么这个方法所在的类是无法被替换的,类似无限循环的方法。场景需求举个例子,在线上代码某个class的方法添加日志输出,修改方法返回结果,但是,又.原创 2020-07-27 18:09:44 · 1440 阅读 · 2 评论 -
Arthas-Java的诊断工具
前景:当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:1.这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?2.我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?3.遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?4.线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!5.是否有一个全局视角来查看系统的运行状况?6.有什么办法可以监控到JVM的实时运行状态?Arthas支持JDK 6+,支持L原创 2020-07-27 17:33:03 · 299 阅读 · 0 评论