常用jdk工具(命令行)
jps(jvm process status tool):显示指定系统内所有虚拟机进程;
jstar(jvm statistics monitoring tool):收集虚拟机各方面的运行数据;
jstar[ options vmid[ interval [count]]]
第一个参数 options :
-gc:显示有关垃圾收集堆行为的统计信息;
第二个参数 vmid
如果是本地虚拟机进程,vmid与本地虚拟机唯一id是一致的,
如果是远程虚拟机进程,那么格式是protocol:lvmid[@hostname[:port]/servername]
第三个参数:interval
采样间隔,单位为秒或者毫秒;
第四个参数:count
要显示的样本数;
使用:jstar -gc xxxx 250 10(xxxx进程,250毫秒 采集10次,不指定默认打印一次)
-gcutil 内存占比
jinfo(configuration info forjava):显示虚拟机配置信息;
jinfo[options]
; -flag name:输出对应名称的参数;
-flag [+|-]name:动态开启或者关闭对应名称的参数;
-flag name=value:动态设定对应名称的参数;
-flags: 输出全部的参数;
-sysprops:输出系统属性;
jmap(memory map for java):可以生成java程序的dump文件,也可以查看堆内存对象信息、查看classloader的信息
以及finalizer队列;
jmap[options]
no option:查看进程的内存映像信息;
heap:显示java堆详细信息;
histo[:live]:显示堆中对象的统计信息;
clstats:打印类加载器信息;
finalizerinfo:显示在F-Queue队列等待Finalizer队列执行finalizer方法的对象;
dump:
:生成堆转储快照;
jhat(jvm heap dump browser):用于分析headdump文件,会建立一个http/html服务器,让用户可以在浏览器上查看分析结果;
jstack(stack trace forjava):查看或者导出java应用中线程堆栈信息;
jstack[options]
-F:当前线程挂起时,使用 jstack -l pid请求不被相应时,强制输出线程堆栈;
-l:除堆栈外,显示关于锁的附加信息;
-m:可以同事输出java以及c/c++堆栈信息;
JConsole:查看java应用程序运行概况,监视垃圾回收器管理的虚拟机内存的变化趋势,以及监控程序内的线程。
visual VM
还没有评论,来说两句吧...