文档章节

如何让Java应用把当前内存情况输出到文件中供分析

Oscarfff
 Oscarfff
发布于 2016/12/01 14:33
字数 364
阅读 20
收藏 0

当对当前系统的情况进行分析的时候,内存分析很重要,因为有时候内存溢出不是立即产生的,而是等待运行一段时间后才产生的。所以把系统内存当前运行的情况heap dump出来分析一下很重要,现在就直接说方法吧。

一 找到jmap工具

首先到Java JDK 的bin 目录下面(如果已经把JDK的bin 放在环境变量搜索上下文里面了,就不需要到JDK的目录下),例如: 在linux 下面 到 /opt/java6/bin 目录下面 ,而不是到 /opt/java6/jre/bin 。

在这个目录下面找到jmap工具然后用

jmap [ option ] pid
jmap -dump:format=b,file=heapdump-49761.bin 49761

具体其他jmap 的用法可以参 http://docs.oracle.com/javase/7/docs/technotes/tools/share/jmap.html

关于确定进程的pid可以用 jps  -l 来确定相应的进程ID,关于-l 参数说明。

-l 

Output the full package name for the application's main class or the full path name to the application's JAR file.

 

http://docs.oracle.com/javase/7/docs/technotes/tools/share/jps.html

二 使用相应的内存分析工具来分析

常用的有MAT或者 hpjmeter 

三 其他情况

如果你的内存日志文件比较大,这些工具分析比较费劲,可以采用先进行一次full gc.然后在生成heap文件进行分析。

jcmd <pid> GC.run

 

© 著作权归作者所有

共有 人打赏支持
Oscarfff
粉丝 72
博文 815
码字总数 96913
作品 0
崇明
后端工程师
私信 提问
线上Java应用排查和诊断规范

@郑昀 整理 标准做法一:OOM触发HeadpDump 目的: OOM发生时,输出堆栈快照文件,供研发人员分析。 在JVM中,如果98%的时间是用于 GC 且可用的 Heap size 不足2%的时候,将抛出 OOM 异常。...

旁观者-郑昀
2013/09/26
0
0
JVM汇总--jvm调优-命令篇

GC的最根本原因:垃圾收集器的工作就是清除Java创建的对象,垃圾收集器需要清理的对象数量以及要执行的GC数量均取决于已创建的对象数量。因此,为了使你的系统在GC上表现良好,首先需要减少创...

素雷
04/12
0
0
jvm优化必知系列——监控工具

这是jvm优化系列第二篇: jvm优化——垃圾回收 通过上一篇的jvm垃圾回收知识,我们了解了jvm对内存分配以及垃圾回收是怎么来处理的。理论是指导实践的工具,有了理论指导,定位问题的时候,知...

wier
2017/10/18
0
14
java虚拟机内存监控工具jps,jinfo,Jstack,jstat,jmap,jhat使用

基于Sun HotSpot JVM 这里将介绍几款sun hotspot jvm 自带的监控工具: 请确保java_home/bin配置到path环境变量下,因为这些工具都在jdk的bin目录下 jps(JVM Process Status Tool):JVM机进程...

我类个擦
2014/09/12
0
1
【转】Java Crash原因汇总

如果是Java进程不知道什么原因退出或被杀死,想要分析具体原因,一般来说分下面几步: 1. 拿到Java应用程序的日志文件 2. 查找JVM的致命错误日志 3. 查找操作系统的core dump文件 4. 使用Dtr...

mj4738
2011/12/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Nginx 内置请求参数

nginx内置变量 内置变量存放在 ngx_http_core_module 模块中,变量的命名方式和apache 服务器变量是一致的。总而言之,这些变量代表着客户端请求头的内容,例如$http_user_agent, $http_coo...

大木老师故事的小黄花
39分钟前
2
0
我为什么坚持写作

说写作可能是抬高了自己,目前来说只能是写东西、记录东西、表达观点和情感。 在俞敏洪的公众号上看到过一篇文章,里面讲了一个观点,大概是说写作不求能写出伟大的作品,只是把自己的生活、...

Bob2100
今天
3
0
中国公有云三巨头,同时支持Rancher Kubernetes平台

华为云容器引擎(CCE)、阿里云K8S容器服务(ACK)和腾讯云K8S引擎(TKE),中国公有云三巨头正式全面支持Rancher Kubernetes平台。 Rancher正式宣布扩大对中国领先Kubernetes服务的支持,华...

RancherLabs
今天
1
0
【NLP】【八】基于keras与imdb影评数据集做情感分类

【一】本文内容综述 1. keras使用流程分析(模型搭建、模型保存、模型加载、模型使用、训练过程可视化、模型可视化等) 2. 利用keras做文本数据预处理 【二】环境准备 1. 数据集下载:http:...

muqiusangyang
今天
3
0
nginx 解决session一致性

session 粘滞性 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 upstream backserver {ip_hash;server 192.168.0.14:88;server 192.1...

zhu_kai1
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部