【发布时间】:2019-04-18 22:16:19
【问题描述】:
我正在尝试解决我的 tomcat 服务器遇到的内存问题,并且我对内存使用有一些疑问。 当我使用 top 检查我的进程内存使用情况时,我看到它使用 1Gb 物理内存,在使用 gdb 创建核心转储后,核心文件大小为 2.5GB ,并且在分析 jmap 创建的 HPROF 文件时,它指出使用了 240MB。
那么,如果 top 显示 1GB,为什么 hprof 文件只显示 240MB 760MB 去了哪里?
【问题讨论】:
-
240MB 是否显示为堆内存?如果不是,其中的 Used Heap 是什么?您能否提供一些有关 jmap 提供的数字的详细信息
-
我想是的,这是 Eclipse Memory Analyzer 中显示的总大小
-
如果你只转储活动对象,这可能是堆的一小部分,也就是进程使用的内存的一小部分。
-
jmap 中没有使用“live”选项
标签: java memory-leaks gdb jmap hprof