jvm内存映像分析

标签: jvm 内存 分析 | 发表时间:2013-05-23 20:11 | 作者:
出处:http://www.iteye.com

     jdk自带的jmap就是java内存映像工具,可以用于上生成堆转储快照:

在eclipse中启动一个java类,打开jdk安装目录下的C:\Program Files\Java\jdk1.6.0_11\bin目录,双击jconsole.exe,显示连接窗口:

 ,单击pid为6920的选项,点连接进入,可以看到jvm运行时的多种参数,

在运行中输入cmd,在命令行中输入以下命令

C:\Documents and Settings\Administrator\jmap -dump:format=b,file=eclipse.bin 6920   ,6920为java进程的pid,回车,显示heap dump file created



 命令行窗口键入:C:\Documents and Settings\Administrator\jhat eclipse.bin ,显示Server is ready后,

打开浏览器,输入http://localhost:7000后就可以看到分析日志了



 拉到页尾,点击Other Queries标题下的Show instance counts for all classes (excluding platform) ,所有类的数目按照数目排序:



 ,点击Other Queries标题下的Execute Object Query Language (OQL) query 可以根据OQL语言来查询自己想要的信息:



 在其中输入  select file.path.value.toString() from java.io.File file
可以查询所有加载的文件:



 ,更多查询方法可以参考OQL的语法。



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [jvm 内存 分析] 推荐:

jvm内存映像分析

- - ITeye博客
     jdk自带的jmap就是java内存映像工具,可以用于上生成堆转储快照:. 在eclipse中启动一个java类,打开jdk安装目录下的C:\Program Files\Java\jdk1.6.0_11\bin目录,双击jconsole.exe,显示连接窗口:.  ,单击pid为6920的选项,点连接进入,可以看到jvm运行时的多种参数,.

MAT JVM内存分析

- - 开源软件 - ITeye博客
我们使用的是 Eclipse Memory Analyzer V0.8,Sun JDK 6. 和其他插件的安装非常类似,MAT 支持两种安装方式,一种是“单机版“的,也就是说用户不必安装 Eclipse IDE 环境,MAT 作为一个独立的 Eclipse RCP 应用运行;另一种是”集成版“的,也就是说 MAT 也可以作为 Eclipse IDE 的一部分,和现有的开发平台集成.

Linux与JVM的内存关系分析

- - 美团技术团队
在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约600m,Linux自身使用大约800m. 从表面上,物理内存应该是足够使用的;但实际运行的情况是,会发生大量使用SWAP(说明物理内存不够使用了),如下图所示. 同时,由于SWAP和GC同时发生会致使JVM严重卡顿,所以我们要追问:内存究竟去哪儿了.

JVM 堆外内存泄漏分析(一)

- - coderbee笔记
Java 应用部署在 Kubernetes 集群里,每个容器只运行一个进程, JVM 的启动命令是打包在镜像文件里的. 常规的方式是采用 -Xmx4g -Xms2g 这样的参数来指定 JVM 堆的最大、最小尺寸,如果需要调整堆大小就需要重新打包镜像. 为了避免因为修改堆大小而重新打包,从 JDK 8u191 版本开始支持 JVM 感知容器资源限制,这样在调整 JVM 内存分配时就不需要重新打包镜像文件,采用下面的参数来使 JVM 在启动时感知到容器的资源限制,并设定堆的大小:.

JVM 堆外内存泄漏分析(二)

- - coderbee笔记
关于 堆外内存的组成可以看上一篇文章 JVM 堆外内存泄漏分析(一). NMT(Native Memory Tracking)是 HotSpot JVM 引入的跟踪 JVM 内部使用的本地内存的一个特性,可以通过 jcmd 工具访问 NMT 数据. NMT 目前不支持跟踪第三方本地代码的内存分配和 JDK 类库.

JVM内存溢出深度分析分析

- - CSDN博客研发管理推荐文章
今天,发现游戏逻辑服务器内存溢出问题,每隔一定时间就生成java_pidxxxxxx.hprof ,基本1G内存分配不够用了,导致FGC频繁发生. MAT  Eclipse Memory Analyzer Tool(MAT)分析内存泄漏. MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速、功能丰富的JAVA heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗.

JVM内存分析系列(二)内存溢出的类型分析

- - 企业架构 - ITeye博客
//2 虚拟机栈和本地方法栈溢出. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

JVM内存分配

- - 移动开发 - ITeye博客
计算机内存,它算是CPU与计算机打交道最频繁的区域,所有数据都是先经过硬盘至内存,然后由CPU再从内存中获取数据进行处理,又将数据保存到内存,通过分页或分片技术将内存中的数据再flush至硬盘. 那JVM的内存结构到底是如何呢. JVM做为一个运行在操作系统上,但又独立于os运行的平台,它的内存至少应该包括象寄存器、堆栈等区域.

JVM 内存分析工具 MAT 的深度讲解与实践——进阶篇

- - 掘金后端本月最热
注:本文原创,转发需标明作者及原文链接. 【0广告微信公众号:Q的博客】. 本系列共三篇文章, 本文是系列第2篇——进阶篇,详细讲解 MAT 各种工具的 核心功能、用法、适用场景,并在具体实战场景下讲解帮大家学习如何针对各类内存问题. JVM 内存分析工具 MAT 的深度讲解与实践——入门篇》 介绍 MAT 产品功能、基础概念、与其他工具对比、Quick Start 指南.

一次大量 JVM Native 内存泄露的排查分析(64M 问题)

- - 掘金后端本月最热
我们有一个线上的项目,刚启动完就占用了使用 top 命令查看 RES 占用了超过 1.5G,这明显不合理,于是进行了一些分析找到了根本的原因,下面是完整的分析过程,希望对你有所帮助. Linux 经典的 64M 内存问题. 堆内存分析、Native 内存分析的基本套路. tcmalloc、jemalloc 在 native 内存分析中的使用.