【问题标题】:What is total allocated memory in visualvm samplervisualvm 采样器中分配的总内存是多少
【发布时间】:2019-07-05 18:38:46
【问题描述】:

我已将 tomcat(分配了 8GB 堆内存)连接到 visualvm。在 visualvm 中,在 tab sampler -> memory 下,总分配的内存显示为 17GB(18470717672 字节)。但是只为tomcat堆内存分配了8GB。在监视器选项卡中,它正确地将分配的堆大小显示为 8GB(8589934592 字节)。请说明为什么在采样器选项卡中分配的总内存显示为 17GB?

【问题讨论】:

    标签: java visualvm


    【解决方案1】:
    采样器中的

    总分配内存显示了为采样期间创建的对象分配了多少内存。其中一些对象已经被垃圾回收,不再使用任何内存。

    Used 显示当前已分配但尚未被垃圾回收的对象占用了多少堆内存。

    Size 显示分配给 JVM 的堆内存量。该空间可立即用于分配新对象。

    Max 显示Size 可以增长多少。 JVM 不会向操作系统请求更多内存。如果新对象“不适合”,它将抛出 OutOfMemoryError。

    【讨论】:

    • 谢谢。每个线程分配 - > 采样器选项卡中每秒分配的字节数和每秒分配的字节数有什么区别?我不认为为每个线程显示的分配字节包括已经被垃圾收集的内存。因为一段时间后,选项卡中显示的线程 Per thread allocation byte 消失了。
    猜你喜欢
    • 2012-02-06
    • 1970-01-01
    • 2013-06-30
    • 2012-02-06
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 2012-01-28
    相关资源
    最近更新 更多