共计 2084 个字符,预计需要花费 6 分钟才能阅读完成。
前言
后面咱们就曾经说了 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 的应用,敬请期待哦