gpt4 book ai didi

java - 具有大量内存的机器上的 OpenJDK MaxRAMPercentage

转载 作者:行者123 更新时间:2023-11-30 06:40:25 29 4
gpt4 key购买 nike

在内存为 60GB(或更多)的机器上运行 OpenJDK 11 时,MaxRAMPercentage 最多只能分配 30GB 左右。

这可以正常工作:

>~# java   -XX:MaxRAMPercentage=10 -XshowSettings:vm -version
VM settings:
Max. Heap Size (Estimated): 5.90G
Using VM: OpenJDK 64-Bit Server VM

openjdk version "11.0.4" 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+11-post-Debian-1bpo91)
OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Debian-1bpo91, mixed mode, sharing)

但是当百分比应该产生 30G 以上的堆大小时,我得到:

>~# java   -XX:MaxRAMPercentage=75 -XshowSettings:vm -version
VM settings:
Max. Heap Size (Estimated): 29.97G
Using VM: OpenJDK 64-Bit Server VM

openjdk version "11.0.4" 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+11-post-Debian-1bpo91)
OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Debian-1bpo91, mixed mode, sharing)

使用旧的 -Xmx 是可行的(例如 -Xmx50G)。

我错过了什么? MaxRAMPercentage 是否应该有界?

最佳答案

问题是与 CompressedOops 相关的错误/功能(CompressedOops 将堆大小限制为 32GB,虽然 -Xmx 禁用 CompressedOops,但 MaxRAMPercentage 不会)。

要解决/变通,您可以:

  • 添加 -XX:-UseCompressedOops 以禁用 CompressedOops
  • 使用OpenJDK13,bug已修复

错误报告是here . HT @Arnaud 带我去那里。

关于java - 具有大量内存的机器上的 OpenJDK MaxRAMPercentage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58119322/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com