-
Bug
-
Resolution: Fixed
-
P3
-
24
-
b03
-
linux
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8348458 | 24.0.1 | Albert Yang | P3 | Resolved | Fixed | b04 |
JDK-8346182 | 24 | Albert Yang | P3 | Resolved | Fixed | b29 |
Parallel does not handle the combination -XX:+UseLargePages and -XX:+UseNUMA gracefully. A minimal example that would trigger the bug:
$ jdk-24/bin/java -server -XX:+UseParallelGC -XX:+UseLargePages -XX:+UseNUMA -Xmx200m -version
If -Xmx is set to something that is larger than whatever /proc/sys/vm/nr_hugepages backs we get the expected message:
Java HotSpot(TM) 64-Bit Server VM warning: Failed to reserve and commit memory using large pages. req_addr: 0x0000000083000000 bytes: 2097152000
But if -Xmx is set to something that is smaller than whatever /proc/sys/vm/nr_hugepages backs we get:
$ jdk-24/bin/java -server -XX:+UseParallelGC -XX:+UseLargePages -XX
:+UseNUMA -Xmx200m -version
Java HotSpot(TM) 64-Bit Server VM warning: UseNUMA is not fully compatible with +UseLargePages, disabling adaptive resizing (-XX:-UseAdaptiveSizePolicy -XX:-UseAdaptiveNUMAChunkSizing)
mbind: Invalid argument
mbind: Invalid argument
mbind: Invalid argument
This error only happens for Parallel (I have tested Serial, G1, ZGC).
$ jdk-24/bin/java -server -XX:+UseParallelGC -XX:+UseLargePages -XX:+UseNUMA -Xmx200m -version
If -Xmx is set to something that is larger than whatever /proc/sys/vm/nr_hugepages backs we get the expected message:
Java HotSpot(TM) 64-Bit Server VM warning: Failed to reserve and commit memory using large pages. req_addr: 0x0000000083000000 bytes: 2097152000
But if -Xmx is set to something that is smaller than whatever /proc/sys/vm/nr_hugepages backs we get:
$ jdk-24/bin/java -server -XX:+UseParallelGC -XX:+UseLargePages -XX
:+UseNUMA -Xmx200m -version
Java HotSpot(TM) 64-Bit Server VM warning: UseNUMA is not fully compatible with +UseLargePages, disabling adaptive resizing (-XX:-UseAdaptiveSizePolicy -XX:-UseAdaptiveNUMAChunkSizing)
mbind: Invalid argument
mbind: Invalid argument
mbind: Invalid argument
This error only happens for Parallel (I have tested Serial, G1, ZGC).
- backported by
-
JDK-8346182 Parallel GC does not handle UseLargePages and UseNUMA gracefully
-
- Resolved
-
-
JDK-8348458 Parallel GC does not handle UseLargePages and UseNUMA gracefully
-
- Resolved
-
- relates to
-
JDK-8333962 Obsolete OldSize
-
- Resolved
-
-
JDK-8346005 Parallel: Incorrect page size calculation with UseLargePages
-
- Open
-
- links to
-
Commit(jdk24) openjdk/jdk/297b21fb
-
Commit(master) openjdk/jdk/a9a5f7cb
-
Review(jdk24) openjdk/jdk/22733
-
Review(master) openjdk/jdk/22575
(3 links to)