java 调试工具,命令行工具,性能工具,可视化工具

JDK的bin包下除了我们常用javac,java外,还提供了许多给开发人员使用的命令行工具,如图(JDK1.7):


1.jps:虚拟机进程查看工具

类似于linux下的ps命令,查看进程的信息,。

-l: 输出主类的全名;

-m: 输出程序的命令行输入参数;

-v: 输出JVM参启动时显示设定的参数。

-q:只输出id


2.jstat:虚拟机统计信息监视工具

可以显示虚拟机加载过程当中的类加载,内存,垃圾收集,JIT编译等运行数据。

语法结构:

Usage: jstat -help|-options

       jstat -

参数解释:

Options — 选项,我们一般使用 -gcutil 查看gc情况

vmid    — VM的进程号,即当前运行的java进程号

interval– 间隔时间,单位为秒或者毫秒

count   — 打印次数,如果缺省则打印无数次

具体option参数如下:

-class:统计class loader行为信息(jvm参数 -XX:+TraceClassLoading和 -XX:+TraceClassUnloading 用来打印类被加载和卸载的过程信息 更详细)

-compile:统计编译行为信息

-gc:统计jdk gc时heap信息

-gccapacity:统计不同的generations(不知道怎么翻译好,包括新生区,老年区,permanent区)相应的heap容量情况

-gccause:统计gc的情况,(同-gcutil)和引起gc的事件

-gcnew:统计gc时,新生代的情况

-gcnewcapacity:统计gc时,新生代heap容量

-gcold:统计gc时,老年区的情况

-gcoldcapacity:统计gc时,老年区heap容量

-gcpermcapacity:统计gc时,permanent区heap容量

-gcutil:统计gc时,heap情况

如下:每250毫秒打印一次类加载信息,打印20次


3.jinfo:

实时查看和调整JVM各项参数,系统属性

用法:
jinfo [ option ] pid
jinfo [ option ] executable core
jinfo [ option ] [server-id@]remote-hostname-or-IP 

参数:

pid   进程号
executable   产生core dump的java executable
core   core file
remote-hostname-or-IP  主机名或ip
server-id    远程主机上的debug server的唯一id

选项:
no option  打印命令行参数和系统属性
-flags  打印命令行参数
-sysprops  打印系统属性
-h  帮助





你可能感兴趣的:(JAVA,JVM)