1. 什么是java mp文件 怎么生成
java mp heap 是分配给实例类和数组对象运行数据区,所有java线程在运行期间共享heap中的数据。Java heap mp相当于java应用在运行的时候在某个时间点上打了个快照(snapshot)。
有java mp文件生成的方式如下:
1.使用$JAVA_HOME/bin/jmap -mp来触发,eg:jmap -mp:format=b,file=/home/longhao/heammp.out
2.使用$JAVA_HOME/bin/jcosole中的MBean,到MBean>com.sun.management>HotSpotDiagnostic>操作>mpHeap中,点击 mpHeap按钮。生成的mp文件在java应用的根目录下面。
3.在应用启动时配置相关的参数 -XX:+HeapDumpOnOutOfMemoryError,当应用抛出OutOfMemoryError时生成mp文件。
4.使用hprof。启动虚拟机加入-Xrunhprof:head=site,会生成java.hprof.txt文件。该配置会导致jvm运行非常的慢,不适合生产环境。
2. 宕机的时候,java mp 是什么东西这句话又是什么意思
对于大型 java 应用程序来说,再精细的测试都难以堵住所有的漏洞,即便我们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出来,并且很难在测试环境中进行重现。JVM 能够记录下问题发生时系统的运行状态并将其存储在转储(mp)文件中,从而为我们分析和诊断问题提供了重要的依据。常见的转储文件包括 Java Dump, Heap mp 和 System mp。