首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内存分析器和任务管理器之间分配的内存差异

内存分析器和任务管理器之间分配的内存差异
EN

Stack Overflow用户
提问于 2017-02-10 12:53:31
回答 1查看 104关注 0票数 1

我想分析一个相当大的Java进程的内存使用情况。

在启动Eclipse内存分析工具时,我意识到了所谓的分配内存之间的巨大差异: Windows任务管理器/ CMD任务列表显示大约5,5GB,而内存分析器仅显示1,1GB。是什么导致了这种差异?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-07 08:28:47

日食内存分析器(MAT)看到并报告的是的大小,即由Object实例组成的对象图。操作系统看到并报告的是内存中区域的大小,JVM从操作系统中请求将Java堆(及其内部数据结构)存储在其中。这个内存通常没有被活动的Java对象完全填满;有些对象可能已经死了(没有被看到是MAT),但是还没有被收集,垃圾收集器本身也需要一些空间来移动对象。

我希望这能解释基本原理( JVM和OS内存管理都有更多的细节)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42159892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档