写在前面
想很简单,做很难,坚持更难,克服惰性。每天学一点,不会的就少一点。
养成习惯很重要,先从点赞开始吧!关注[程序员之道],前行道路不再迷茫!
Arthas是什么
Arthas(阿尔萨斯)是Alibaba开源Java诊断工具,你是否遇到如下问题:
- 为什么本地代码跑的好好的,到了线上就有各种异常?
- 新提交的代码好像没生效,提交错了?线上当前运行的是哪个版本?
- 生产环境出问题了,没办法debug,咋办,人肉吧,可能出错的地方,挨个加日志。排查到问题之后再去掉。
- 有没有办法监控到JVM的实时运行状态?
程序员Debug的烦恼
其实平时遇到最多的问题就是,明明一段代码,在本地运行perfect,自己构造了几个测试用例,也万无一失。可到了生产环境,就出错了,咋办?没有办法debug,利用二分法,先少加一些日志,上线一把,找到出错的日志位置,继续二分,再加日志,如此循环往复,直到找到出错位置。又或者是,在所有可能出错的位置,先都加上日志,逐步缩小错误范围,一步步排查,但是心可是真累啊!程序员宝宝太不容易了。
如果线上生产环境,每次发布都需要审批,那就更头大了。
此时你迫切需要和我一起学习Arthas,利用神器进行程序诊断!!!
Arthas支持JDK1.6+,支持Linux、Mac、Windows,通过命令行交互方式,同时还支持tab补全,无需重启或修改线上程序,直接debug,简直是爽歪歪啊,早点找到程序的Bug,喝杯茶、找个妹子聊聊天也是好的哇!
Arthas安装
安装Arthas可谓是非常简单,因为它根本就不需要安装,Arthas是通过jar包方式提供给使用者。
下载方式:
curl -O https://arthas.aliyun.com/arthas-boot.jar
使用方式:
java -jar arthas-boot.jar
其实知道上面这个使用方式,基本也足够了,不过Arthas有非常丰富的功能,如果有兴趣的话,可以求助下help大神。
java -jar arthas-boot.jar -h
Arthas卸载
因为使用Arthas只是下载了一个jar包,并没有额外安装什么东西,所以本质上其实没有什么软件好卸载的了。
但是因为运行Arthas调试,会产生一些日志及Arthas本身的一些日志。删除这些日志文件就可以了,不删除其实也没啥影响,只是占用了一些存储空间而已。
首先删除刚才下载的jar包,额,没有这么健忘吧,我刚才吧jar包下载到哪里去了呢…
Linux、Unix或Mac系统
rm -rf ~/.arthas/
rm -rf ~/logs/arthas
Window系统
删除user home下的.arthas和log/arthas目录
下期预告,可以大显身手了,调试一个程序试试