- 
    Bug 
- 
    Resolution: Fixed
- 
     P3 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 -           
- Resolved
 
-         
- links to
- 
                     Commit(jdk24)
        openjdk/jdk/297b21fb Commit(jdk24)
        openjdk/jdk/297b21fb
- 
                     Commit(master)
        openjdk/jdk/a9a5f7cb Commit(master)
        openjdk/jdk/a9a5f7cb
- 
                     Review(jdk24)
        openjdk/jdk/22733 Review(jdk24)
        openjdk/jdk/22733
- 
                     Review(master)
        openjdk/jdk/22575 Review(master)
        openjdk/jdk/22575
             (3 links to)