我知道不同的系统分配器,现在我试图在JVM的环境中使用它们。问题是,是否可以告知热点使用哪个分配器(例如,我希望JVM使用tcmalloc
进行所有分配,或者可能每次都简单地调用mmap
/ munmap
)。>
也许有一个JVM选项?
答案 0 :(得分:1)
jcmd VM.Native_memory显示的大小比RSS小得多
我将查看/proc/{pid}/smap
来了解哪些地区是居民。您可能有很多通常不驻留的线程堆栈使用的虚拟内存。
如果Java程序分配了很多堆外内存,您将有DirectByteBuffer
个对象来包装每个内存区域。