前言
后面咱们就曾经说了Windows怎么应用Arthas了,那明天咱们就来聊一下在Linux下的Arthas的应用
一、筹备
咱们同样也须要筹备一个java程序,启动之后不能进行的,那我就用的死循环程序,上面是一个死循环程序,始终输入a的值
public class test1 { public static void main(String[] args) { int a = 1; while (a==1){ System.out.println(a); } } }
二、测试
Linux下测试
Linux下跟Windows下应用步骤差不多,只不过你须要启动的是jar包,你先把程序的jar包放到Arthas的目录下,应用FTP传输就能够了
没有FTP传输工具的,能够关注咱们公众号:全栈开发Dream , 回复2获取下载链接
上传实现后,应用命令启动这个jar包,比方我的是test.jar,那我放好之后,进入到jar包的目录,就应用以下命令行启动
java -jar test.jar
而后让这个程序在这里运行不要敞开,咱们关上另外一个窗口,启动Arthas
进入Arthas的的目录,输出启动命令,命令如下
java -jar arthas-boot.jar
同样的,抉择test后面的数字,启动Arthas
如果你想要检测其余的java程序的话,就输出程序名后面对应的数字
有时候可能会呈现端口被占用,那就须要换一个端口执行
java -jar arthas-boot.jar --telnet-port 9988 --http-port -1
当然Linux也是能够用浏览器拜访arthas的,然而只能在内置的web,不能在里面的Windows浏览器拜访,要是用Windows的浏览器拜访链接是找不到的
三、执行
咱们先执行一下help,呈现的命令跟Windows的是一样的
常用命令
其实上一篇说的,Windows应用的命令在Linux这里也是能够应用的
清理命令是也是能够用的
Windows下是clear
,Linux下是cls
1.dashborad仪表板
输出dashborad之后,也会呈现仪表板的信息,来回顾一下
仪表板次要有三个局部,第一个是所有的线程状态,第二个是内存应用的状况,第三个是JVM的状态和Windows的信息
这些内容是会刷新的,可依据这些数据对这个程序以及java虚拟机进行监控,须要退出的话按q 或者Ctrl+c即可退出。
2.thread线程板
输出这个命令之后,也会呈现一个线程板,这个跟上一篇的Windows的性能的差不多的,显示的是所有线程的状况
每个线程后面会有一个id,输出 thread +对应的id能够查看的该线程的一些信息
3.jad反编译
这个命令是一个反编译的命令,能够把jar包反编译成代码展现在屏幕上,例如我的是test程序,然而我的类如同是test1,那我就输出jad test1
,要是我输出jad test
的话,他会说这个类没有找到,因为我的类名就是test1
个别的程序的话,就须要装置上面的步骤来输出
jad 包名.类名
我输出jad test1之后,他就会把我这个类的文件反编译进去,显示在这里
回顾一下,第一个红色字体下的是类加载器,第二个是门路,上面的就是源码和反编译的工夫了
4.watch监测
后面说过这是监督,有点相似debug那种,能够看到这个类中函数的返回值,那我就简略说一下格局,就不去改变了,个别命令的格局如下,只有这个猎中有办法(函数),才可能用这个命令
watch 包名.类名 办法名 primeFactors returnObj
因为我后面在Windows的时候说过就不再改变了,小伙伴们就本人回去尝试吧,上面是的上一篇文章的代码
public class test { public static void main(String[] args) { int a = 1; while (a==1){ System.out.println(outs(a)); } } public static int outs(int x){ return x; }}
测试这个outs办法,没有包名就把包名省略,那我就输出
watch test outs primeFactors returnObj
能够看到每一次都会输入一个后果,这个后果就是咱们料想的 “1” ,同样的在结尾也是提醒咱们,按Q或者Ctrl+C能够退出
当然你也能够不写primeFactors
,间接输出watch test outs primeFactors returnObj
,也是会输入数据,然而这个数据是会始终循环输入的,每执行一次就会输入一次,并且这个输入后果会阐明是什么类型的,比方这里的Integer类型,同样按Q或者Ctrl+C退出
5.退出Arthas
上次一篇文章说过了就不反复啦,只是退出监控是就应用quit
或者exit
,要是像退出Arthas整个程序的就应用stop
,记住哦。
另外分享一个上次没有说到的小技巧,后面的输出help
命令之后会有很多的命令,要是不记得某个单词怎么拼怎么办,别急,只有你记住后面几个单词,前面忘了的话按Tap
键会主动帮你填充哦
本次分享就先到这里了,前面还会分享更多对于Arthas的应用,敬请期待哦