< prev index next >
test/gc/arguments/TestSmallInitialHeapWithLargePageAndNUMA.java
Print this page
rev 11780 : [mq]: webrev.0
rev 11781 : [mq]: webrev.1
*** 39,60 ****
import jdk.test.lib.OutputAnalyzer;
import sun.hotspot.WhiteBox;
public class TestSmallInitialHeapWithLargePageAndNUMA {
! private static final String MSG_EXIT_TOO_SMALL_HEAP = "Failed initializing NUMA. Too small initial heap size";
private static final String MSG_GC_TRIGGERED_BEFORE_INIT = "GC triggered before VM initialization completed.";
public static void main(String[] args) throws Exception {
WhiteBox wb = WhiteBox.getWhiteBox();
long heapAlignment = wb.getHeapAlignment();
! // NUMA with large pages is not fully compatible in Linux, so we are using pin region.
! // And the pin region case, we will skip freeing memory if the page size is larger than the default page size.
! // If we allocate pages less than NUMA node, NUMA will try to use default page size.
! // And this will conflict for pin region.
// Assume the minimum NUMA node as 2.
long initHeap = heapAlignment;
long maxHeap = heapAlignment * 2;
String[] vmArgs = {"-XX:+UseParallelGC",
--- 39,60 ----
import jdk.test.lib.OutputAnalyzer;
import sun.hotspot.WhiteBox;
public class TestSmallInitialHeapWithLargePageAndNUMA {
! private static final String MSG_EXIT_TOO_SMALL_HEAP = "Failed initializing NUMA with large pages. Too small heap size";
private static final String MSG_GC_TRIGGERED_BEFORE_INIT = "GC triggered before VM initialization completed.";
public static void main(String[] args) throws Exception {
WhiteBox wb = WhiteBox.getWhiteBox();
long heapAlignment = wb.getHeapAlignment();
! // When using large pages, Linux does not support freeing parts of reserved and committed memory.
! // And current Linux implementation uses page size as a condition to actually freeing memory.
! // If we allocate pages less than NUMA node, NUMA will try to use default page size and
! // this will free the memory which Linux does not support.
// Assume the minimum NUMA node as 2.
long initHeap = heapAlignment;
long maxHeap = heapAlignment * 2;
String[] vmArgs = {"-XX:+UseParallelGC",
< prev index next >