1. jps 命令
命令jps类似linux下的ps, 列出java进程 可以列出程序的进程id以及main函数
使用形式 jps jps -q ,jps -m ,jps -m -l, jps -m -l
2. jstat命令
观察java应用程序时的信息工具
使用语法
jstat -<option> [-t] [-h<lines>] <vmid> [<interval>] [<count>]
option 由下构成
--class :显示ClassLoader的相关信息
-compiler:显示JIT编译的相关信息
——GC:显示GC相关信息
-gccapacity:显示各个代的容量及使用情况
-gccause:显示垃圾收集相关的信息(同 -gcutil),同时显示最后一次或当前正在发生的垃圾收集的诱发原因
-gcnew:显示新生代信息
-gcnewcapacity:显示新生代大小与使用情况
-gcold:显示老年代和永久代的信息
-gcoldcapacity:显示老年代的大小
-gcutil:显示垃圾收集信息
-gcpermcapacity:显示永久代的大小
-printcompliation:输出JIT编译的方法信息
-t参数可以在输出信息前加上一个 Timeestamp 列,显示程序的运行时间
-h 参数可以周期性数据输出时,输出多少行数据后,跟着输出一个表头信息
interval 用于指定输出统计数据的周期,单位毫秒
count 用于指定一共输出多少次数据
3 jinfo 命令
可以查看正在运行的java应用程序的扩展参数,甚至支持在运行时修改部分参数
jinfo <option> <pid>
option
-flag<name> :打印指定的jvm的参数值
-flag[+|-]<name> : 设置指定jvm的参数的布尔值
-flag<name>=<value>:设置指定jvm参数的值
4 :jmap
生成java应用程序的堆快照和对象的统计信息
使用方式
jmap -histo pid > 路径+文件名
使用重定向输出
得到当前java堆快照
jmap -dump:format = b,file =文件名( c:\heap.bin) pid
打开方式mat ,vm
5:jhat
分析java应用程序的堆快照内容
jat filename
分析完了使用HTTP服务器 http://127.0.0.1:7000 查看 支持QQL语法
6:jstack
用于导出java应用程序的线程堆栈
jstack [-l] <pid> >path+filename
7:jstatd
支持远程监控
jstatd.all.policy 配置权限
8:hprof
监控java应用程序运行时的cpu信息和堆信息
java -agenttlib:hrof = help查看帮助文档
-agentlib:hprof=heap=dump,format=b,file=c:\test.hrof
可以将应用程序的堆文件保存到指定文件 test.hrof中