Java堆外内存和大页面

标签 java jvm huge-pages off-heap

在 Java 中分配堆外内存时(例如通过直接缓冲区或 JNI native 代码),如果 JVM 使用 -XX:+UseLargePages ,分配的内存是否会由大页支持?

最佳答案

不,HotSpot JVM uses一个简单的 libc malloc 调用,为直接 ByteBuffer 分配内存。

但是,如果您将标准系统分配器替换为 jemalloc 等。 - 您将能够configure malloc 在可用时使用大页面。

将大页用于直接 ByteBuffer 的另一个选项是在 hugetlbfs 上创建一个文件。文件系统,然后在 Java 中将其映射为 MappedByteBuffer .

关于Java堆外内存和大页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59620064/

相关文章:

java - org.hibernate.TypeMismatchException : Provided id of the wrong type

java - UseAdaptiveSizePolicy 和其他 jvm 选项

linux - 1GB 页面和透明大页面 (Linux)

c - 文本和数据段使用大页

performance - 建议Prolog处理器利用大页面

java - Java 读者作者并发问题

java - eclipse中如何解决一个项目中不同模块之间的循环依赖?

java - JList 在自动滚动和自动选择时变坏(GUI 问题)

java - 同步方法和 Semaphore(1, true) 的语义等价吗?

java - SonarLint 和 IBM JVM 的 HTTPS 问题