代码之家  ›  专栏  ›  技术社区  ›  Some Name

TP如何选择Java分配内存的方式?

  •  2
  • Some Name  · 技术社区  · 6 年前

    我知道不同的系统分配器,现在我正试图在JVM的上下文中绕过它们。问题是是否可以告诉Hotspot使用哪个分配器(例如,我希望JVM使用 tcmalloc 或者干脆打电话 mmap / munmap 每一次)。

    也许有一个JVM选项?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Peter Lawrey    6 年前

    jcmd vm.native_内存显示的大小远远小于rss

    我会看看 /proc/{pid}/smap 查看居住的地区。线程堆栈通常不驻留,您可以使用大量的虚拟内存。

    如果Java程序已经分配了大量的堆内存,那么您将拥有 DirectByteBuffer 对象来包装每个内存区域。