【问题标题】:Is Linux RSS not equivalant to java Xmx + MaxMetaspaceSize? [duplicate]Linux RSS 是否不等同于 java Xmx + MaxMetaspaceSize? [复制]
【发布时间】:2017-08-03 16:52:07
【问题描述】:

这是我的 ps -eo 快照,有些进程占用 2.1GB 内存。 其堆的最大大小为 768mb,其元空间大小的最大大小为 256mb。 而且我猜这个过程不会占用超过1024mb(768 + 256)。但事实并非如此。 “RSS”中除了堆和元空间还包括什么?以及如何像堆堆栈分析器一样监控“RSS”内部?

【问题讨论】:

  • 你也应该看看这个才能知道 -XX:MetaspaceSize 的含义:docs.oracle.com/javase/8/docs/technotes/tools/windows/… -XX:MetaspaceSize=size 设置将触发垃圾回收的分配的类元数据空间的大小第一次超过。垃圾收集的阈值根据使用的元数据量增加或减少。默认大小取决于平台。

标签: linux memory jvm


【解决方案1】:

RSS 是用于任何目的的所有内存的大小,包括 JVM、共享库、线程堆栈、直接内存、内存映射文件、本机内存使用、本机 GFX 组件。堆和元空间只是两个内存区域。

请注意,虚拟内存大小为 15 GB。

要查看内存的用途,您可以转储/proc/{pid}/smaps,它显示所有内存区域(将有数百个)以及每个内存区域的驻留量。 (在我的机器上运行的 IntelliJ 有 403 个内存区域)

【讨论】:

    猜你喜欢
    • 2018-05-30
    • 1970-01-01
    • 2011-10-26
    • 2011-09-08
    • 2014-04-06
    • 2011-09-19
    • 2017-10-14
    • 2012-01-19
    • 1970-01-01
    相关资源
    最近更新 更多