JVM的监控工具之jmap】的更多相关文章

参考博客:https://www.jianshu.com/p/a4ad53179df3 jmap(Memory Map for Java)命令用于生成堆转储快照(一般称为heapdump或dump文件). jmap的作用并不仅仅是为了获取dump文件,它还可以查询finalize执行队列.Java堆和永久代的详细信息,如空间使用率.当前用的是哪种收集器等.和jinfo命令一样,jmap有不少功能在Windows平台下都是受限的,除了生成dump文件的-dump选项和用于查看每个类的实例.空间占用…
转载:http://blog.csdn.net/top_code/article/details/51456186 当系统出bug需要定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处理数据的手段.这里所说的数据包括:运行日志,异常堆栈,GC日志,线程快照(threaddump/javacore文件),堆转储快照(heapdump/hprof文件)等.使用适当的虚拟机监控和分析工具可以加快我们分析数据.定位问题的速度. JDK的命令行工具 JDK本身提供了很多方便的JVM性能监控…
VisualVM(All-in-One Java Trouble shootingTool)是到目前为止随JDK发布的功能最强大的运行监视和故障处理程序,并且可以预见在未来一段时间内都是官方主力发展的虚拟机故障处理工具.官方在VisualVM的软件说明中写上了“All-in-One”的描述字样,预示着它除了运行监视.故障处理外,还提供了很多其他方面的功能.如性能分析Profiling),VisualVM的性能分析功能甚至比起JProfiler.YourKit等专业且收费的Profiling工具都…
1.jdb(The Java Debuger) jdb 用来对core文件和正在运行的Java进程进行实时地调试,里面包含了丰富的命令帮助您进行调试,它的功能和Sun studio里面所带的dbx非常相似,但 jdb是专门用来针对Java应用程序的. 现在应该说日常的开发中很少用到JDB了,因为现在的IDE已经帮我们封装好了,如使用ECLIPSE调用程序就是非常方便的,只要在非常特定的情况下可能会用到这个命令,如远程服务器的维护,没有IDE进行调试,那这个时候JDB应该可以帮上忙. 2.jsta…
(转自:http://yhjhappy234.blog.163.com/blog/static/31632832201222691738865/) 我们知道,在JVM编译期和加载器,甚至运行期已经做了大量的调优操作,但是那些都是JVM针对Java程序所做的通用的.简单的优化,程序在运行时由于运行环境的复杂性.业务逻辑的复杂性,很多JVM是无法进行优化处理的,这就需要我们自己在写代码的时候就注意,以便我们的程序在特定的业务场景发挥到最佳性能. 要进行性能调优,首先我们要找到程序的性能瓶颈在哪里?而…
概述 给一个系统定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处理数据的手段. 这里说的数据包括但不限于异常堆栈.虚拟机运行日志.垃圾收集器日志.线程快照(threaddump/javacore文件). 堆转储快照(heapdump/hprof文件)等.恰当地使用虚拟机故障处理.分析的工具可以提升我们分析数据.定位并解决问题的效率, 但我们在学习工具前,也应当意识到工具永远都是知识技能的一层包装,没有什么工具是"秘密武器",拥有了就能"包治百病".…
命令基本概述 Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本.打印出某个java进程(使用pid)内存内的,所有'对象'的情况(如:产生那些对象,及其数量). 使用方法 jmap -histo pid.如果使用SHELL ,可采用jmap -histo pid>a.log日志将其保存到文件中,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象.jmap -dump:format=b,file=outfile 3024可以将3024进程的内存…
jmap JVM Memory Map命令用于生成heap dump文件,如果不使用这个命令,还可以使用-XX:+HeapDumpOnOutOfMemoryError参数来让虚拟机出现OOM的时候自动生成dump文件. jmap不仅能生成dump文件,还可以查询finalize执行队列.Java堆和永久代的详细信息,如当前使用率.当前使用的是哪种收集器等.[内存分析] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2…
jvm可能存在的问题:    OutOfMemoryError:内存不足    内存泄露    线程死锁    锁竞争(Lock Contention)    Java消耗过多的CPU 一.jps(java virtual machine process status tool)监控jvm进程转台信息jps [options] [hostid]    -m:输出传入main方法的参数    -l:显示main类或jar文件的完全限定名称    -v:显示为jvm虚拟机制定的参数 二.jstack…
在上一篇文件文章中讲到了jhap的用法:https://www.cnblogs.com/cheng21553516/p/11223615.html,既然jhap可以转储堆的快照文件, 那么用什么来分析堆的快照文件,这个分析命令就是jhat 生成堆的快照文件:jmap -dump:live,format=b,file=e:\\test.bin 17312 用jhat命令来打开:jhat test.bin , 显示"Server is ready"时,就表示jhat已经把这个快照文件解开了…