位置
%JAVA_HOME/bin%下就是安装java时为我们自带的可运行程序的文件夹。
之前接触过的只有java和javac,现在再认识几个。
jps
public class Main {
public static void main(String[] args) {
while(true){
sleep();
}
}
public static void sleep(){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
jps(java process status):用于查看java进程。
| option | description |
|---|---|
| - | 查看java进程 |
-l |
显示全类名 |
-m |
带参显示 |
-v |
JVM参数 |
-
jps -l -
jps -m jps -v
-
all(可以同时多个参数)
jinfo
-
jstat -gcutil pid
其中的pid是你关注的java进程号,可根据jps查询。
-gcutil是你说关心的指标,更多详尽信息请参看官方文档。
-
options -
description(后面也有详尽的字段说明)
有疑问的话慢慢翻查。 -
jstat -option pid peroid times(周期监控)
jinfo
jinfo进行指定参数的查询。
选项提供很多,我们通过+/-可以设置一些开关,直接赋值=还可以在运行期间改变参数。
其中<no option>会打印全部的参数设置。
jmap
jmap用于内存管理,用法说明如下
-
jmap -histo pid(类数量 / 实例数量) -
jmap -dump:format=b,file=file导出运行信息以便于后续线下分析。
jhat(JVM Heap Analysis Tool)
-
jhat a.bin分析导出数据localhost:7000
更多的用法和页面操作,暂不了解,后续加深。
jstack
| options | description |
|---|---|
| - | 打印方法栈 |
-F |
强制打印 |
-m |
本地方法栈 |
-l |
打印锁信息 |
-
jstack pid -
jstack -l pid(锁信息,能看见线程状态)
jconsole
这个不多说,打开就会用
各种监控
由于版本和平台原因,有些工具和选项使用不了,可以装个虚拟机或者换个版本进行学习。