收集JVM内存dump文件

Java服务出现假死的现象(如网页打不开、打开空白页面、访问速度极剧下降),则需要工程师在第一时间dump JVM 内存数据,用以分析原因。那么怎样获取JVM内存dump文件呢?

在Windows的CMD控制台或者Linux终端下执行:

jmap-dump:format=b,file=YYMMddhhmm.dump pid

(其中YYMMddhhmm自定义的文件名;pid可以使用Jconsole进入Java监视和管理控制台上查找)。

注意:使用 jmap 命令可能会导致网站对外服务暂停,请尽减少生成dump文件,遇到网站服务异常时,则务必需要第一时间生成 dump 文件,以供分析。

时间: 2024-10-05 03:57:58

收集JVM内存dump文件的相关文章

JVM生成dump文件方式

JVM生成dump文件一般有两种方式 一. 出现OOM时自动生成堆dumpJVM启动命令增加两个参数:-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/home/app/dumps/ 二.人工通过执行指令,直接生成当前JVM的dump文件例如:jmap -dump:format=b,file=/home/app/testdump.hprof 6218其中6218是JVM的当前进程号 原文地址:https://www.cnblogs.com/xing

使用jdk自带工具jvisualvm 分析内存dump文件

1.获取dump文件 使用 以下命令 创建 进程PID = 16231的 dump文件,命名为 order.hprof jmap -dump:format=b,file=order.hprof 16231 将文件下载到本地. 2.使用jdk bin目录下的jvisualvm.exe 装入 order.hprof 分析对应对象的占用内存 原文地址:https://www.cnblogs.com/wangzun/p/11613051.html

jvm内存快照dump文件太大,怎么分析

来自凌幽草 1.场景 通常,使用eclipse的mat图形化工具打开dump的时候都会内存溢出. 对于比较小的dump,eclipse可以打开,但一旦dump文件太大,eclipse就有点束手无策. 这时候怎么办呢?可以使用linux下的mat,既Memory Analyzer Tools 2.dump生成 dump可以是内存溢出时让其自动生成,或者手工直接导.配置jvm参数-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/biapp/

JVM内存监视手段和内存溢出解决方案

引言 本文仅关注一些常见的虚拟机内存监视手段,以及JVM运行时数据区各个部分内存溢出的发生和对应的解决方案,总体来说属于概括性总结,涉及相对不是很深入,目的是让自己和其它初学者有一个框架性.概念性的了解,当遇到问题时有迹可循.不至于不知所措. 一.虚拟机内存监视手段 虚拟机常出现的问题包括:内存泄露.内存溢出.频繁GC导致性能下降等,导致这些问题的原因可以通过下面虚拟机内存监视手段来进行分析,具体实施时可能需要灵活选择,同时借助两种甚至更多的手段来共同分析. 比如GC日志可以分析出哪些GC较为频

配置JVM内存 查看内存工具

一.配置JVM内存 1.配置JVM内存的参数有四个: -XmxJavaHeap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定: -XmsJavaHeap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值: -XmnJavaHeapYoung区大小,不熟悉最好保留默认值: -Xss每个线程的Stack大小,不熟悉最好保留默认值: 2.如何配置JVM内存分配: (1)当在命令提示符下启动并使用JVM时(只对当前运行的

[Java基础] 使用JMAP dump及分析dump文件

转载:http://blog.csdn.net/kevin_luan/article/details/8447896 http://liulinxia02.blog.163.com/blog/static/26868772009111861834942/ http://zhumeng8337797.blog.163.com/blog/static/100768914201242410583187/ 其中jmap是java自带的工具 查看整个JVM内存状态 jmap -heap [pid]要注意的

调试SQLSERVER (一)生成dump文件的方法

调试SQLSERVER (一)生成dump文件的方法 调试SQLSERVER (二)使用Windbg调试SQLSERVER的环境设置调试SQLSERVER (三)使用Windbg调试SQLSERVER的一些命令 我们知道调试程序主要有两种方法 一种是:live debugging (附加进程 使进程hang住) 生产环境最好不要live debugging 一种是:post-mortem debugging or reading dump files (生成dump文件然后进行分析) 现在介绍一

(转)JVM性能调优之生成堆的dump文件

转自:http://blog.csdn.net/lifuxiangcaohui/article/details/37992725 最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一记录. 一.JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以

jvm的stack和heap,JVM内存模型,垃圾回收策略,分代收集,增量收集(转)

深入Java虚拟机:JVM中的Stack和Heap(转自:http://www.cnblogs.com/laoyangHJ/archive/2011/08/17/gc-Stack.html) 在JVM中,内存分为两个部分,Stack(栈)和Heap(堆),这里,我们从JVM的内存管理原理的角度来认识Stack和Heap,并通过这些原理认清Java中静态方法和静态属性的问题. 一般,JVM的内存分为两部分:Stack和Heap. Stack(栈)是JVM的内存指令区.Stack管理很简单,push