You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JVM本地内存追踪中malloc与mmap内存大小含义问询

JVM本地内存追踪(NMT)中malloc与mmap字段的说明

核心结论

你猜的没错——NMT里的malloc和mmap确实对应JVM底层调用的内核内存分配函数,二者共同构成了JVM的全部本地已提交内存。

各字段详细解释

  • malloc: 69218KB #667376
    这行统计的是JVM通过malloc()/calloc()/realloc()等内核函数分配的已提交本地内存总和,后面的#667376是累计的分配操作次数。这类内存多用于小块、零散的内存需求,比如:

    • JVM内部的小元数据对象、辅助数据结构
    • JNI调用时的临时内存块
    • 类加载过程中部分小内存分配(比如你示例里Class类别下的malloc部分)
    • 线程栈的部分零散分配(依JVM实现而定)
  • mmap: reserved=1674952KB, committed=330528KB
    这部分统计的是JVM通过mmap()内核函数申请的内存,分为两个状态:

    • reserved:仅向操作系统申请了一段虚拟地址空间,未占用实际物理/交换内存,只是占位用,不会消耗系统资源。
    • committed:已经从操作系统实际获取的内存,对应真实的物理内存或交换空间,是实际被使用的部分。
      mmap多用于大块、连续的内存分配,比如:
    • Java堆的完整分配(你的示例里Heap完全基于mmap实现)
    • 元数据区(Metadata)、类空间(Class space)的预留与提交
    • 大对象的内存分配

总已提交内存的计算逻辑

你观察到的malloc大小 + mmap已提交大小 = 总已提交内存是完全合理的——JVM的所有本地内存分配只会通过这两种内核途径:小块零散内存用malloc,大块连续内存用mmap。所以总已提交内存就是这两部分的总和,对应你示例里的69218KB + 330528KB = 399746KB。

你提供的NMT报告示例

Native Memory Tracking:

(Omitting categories weighting less than 1KB)

Total: reserved=1744170KB, committed=399746KB
       malloc: 69218KB #667376
       mmap:   reserved=1674952KB, committed=330528KB

-                 Java Heap (reserved=131072KB, committed=131072KB)
                            (mmap: reserved=131072KB, committed=131072KB)

-                     Class (reserved=1050819KB, committed=16515KB)
                            (classes #23646)
                            (  instance classes #22064, array classes #1582)
                            (malloc=2243KB #51615)
                            (mmap: reserved=1048576KB, committed=14272KB)
                            (  Metadata:   )
                            (    reserved=131072KB, committed=92160KB)
                            (    used=91882KB)
                            (    waste=278KB =0.30%)
                            (  Class space:)
                            (    reserved=1048576KB, committed=14272KB)
                            (    used=13897KB)
                            (    waste=375KB =2.63%)

内容的提问来源于stack exchange,提问作者Jakub Zilinek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 09:46:37