首页 > 编程知识 正文

请关闭调试或监控工具后再试,jdk自带的jvm监控工具

时间:2023-05-03 12:53:34 阅读:37762 作者:4444

JDK监视故障处理工具jps--虚拟机进程显示工具jstat--虚拟机统计监视工具jinfo--虚拟机配置信息工具jmap--虚拟机内存映像工具jhat--虚拟机HeapDump分析工具jjp

jdk本身提供了一个内置工具,用于确定与java相关的生产问题。 这些嵌入式工具已充分用于应对大多数常见的生产问题。 这里总结介绍了jdk附带的命令行和可视化工具。

jps虚拟机进程显示工具

与ps命令一样,输出虚拟机的进程信息。 第一列中的LVMID和pid匹配。

jst at虚拟机统计监视工具监视虚拟机统计监视工具、虚拟机的各种运行状态,例如GC的统计信息。

例如,每250毫秒调查一次过程垃圾的收集情况,一共调查20次。

#格式: jst at [ option ] lvmidintervalcount $ jst at-GC 1793625020

说明:

C:容量U:使用量E:eden区域o :上一代M:元数据区域YGC:YoungGC次数YGCT:YoungGC总时间FGC:FullGC次数FGCT:FullGC总时间j info虚拟机配置信息内容

例如,参见过程17936的System.properties ()信息

jinfo -sysprops 17936

查看按年代列出的触发器GC $ j info-flagcmsinitiatingoccupancyfraction 17936

jmap-虚拟机内存映像工具jmap命令用于生成heapdump文件或堆转储的快照。

其他方式为- xx : heapdumponoutofmemoryerror或kill -3 pid

#进程包含jeffdump.bin $ jmap-dump : format=b,file=jeffdump.bin 17936#打印c :_ SERS _ administration file=jfile 管理员 jeffdump.bin . heapdumpfilecreatedjhat虚拟机HeapDump

不会直接在服务器上用jhat分析dump。 毕竟需要时间和资源,而且jhat的分析功能很差,所以一般使用VisualVM和Eclipse Memory Analyzer。

$ jhat jeffdump.binc :usersadministratorjhatjeffdump.binreadingfromjeffdump.bin.dumpfilecreatedwedapr 291733333 resolving . resolving 1831310 objects . chasing references, Expect 366文档.....................................................................................打开snapshot resolved.startedhttpserveronport 7000 serverisready .浏览器: http://localhost:7000/

分析内存泄漏问题的主要方法是使用Heap Histogram,可以在内存中找到总容量最大的对象

jstack-Java堆栈跟踪工具生成虚拟机的当前线程快照,即threaddump或javacore文件。 这意味着当前虚拟机中每个线程正在运行的方法堆栈的集合,可用于确定线程长时间停止的原因,包括线程之间的死锁、死锁周期和由于外部资源请求而导致的长时间等待。

$jstack -l 17936 Jconsole和VisualVM jconsole和visualVM是jdk提供的两个可视化监控工具。 VisualVm是jdk发布的最强大的运行监视和故障处理工具。 不比专业费用的Jprofiler、youkit逊色多少。

VisualGC:是jdk不附带的工具,IDEA上也可以安装插件。

jmc: BEA公司JDK拥有的工具。 需要安装oracle的jdk。 生产环境中不推荐,太重可能会干扰在线服务。

visualVM是一个分析内存溢出异常的CMS收集器,如果GC有98%以上的时间,并且只恢复小于2%的内存,则抛出OOM:GC overhead limit exceeded。 但是,可以设置-XX:-UseGCOverheadLimit来关闭此异常抛出。

但是,仍然有可能抛出OOM:Java Heap sapce异常! 或oom : unabletocrearenewnativethread。

使用jdk附带的工具java VisualVM进行分析

由- xms 20m-xmx 20m-xx : heapdumponoutofmemoryerror生成的java_pid9516.hprof文件也可以在Eclipse Memory Analyzer中打开。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。