提交 ab8966a2 编写于 作者: D dtitov

8206179:...

8206179: com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java fails with Committed virtual memory size illegal value
Reviewed-by: sspitsyn, cjplummer
上级 0a432fcc
/*
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
......@@ -57,8 +57,7 @@ public class GetCommittedVirtualMemorySize {
// Careful with these values.
private static final long MIN_SIZE_FOR_PASS = 1;
// Max size for pass dynamically determined below
private static long max_size_for_pass = Long.MAX_VALUE;
private static long MAX_SIZE_FOR_PASS = Long.MAX_VALUE;
private static boolean trace = false;
......@@ -67,16 +66,6 @@ public class GetCommittedVirtualMemorySize {
trace = true;
}
// 4934082: On Linux, VM size *can* be larger than total swap
// size. Linux might not reserve swap memory immediately when
// a page is mmaped. This means that the reported committed
// memory size can grow beyond the swap limit.
long max_size = mbean.getTotalSwapSpaceSize() +
mbean.getTotalPhysicalMemorySize();
if (max_size > 0) {
max_size_for_pass = max_size;
}
long size = mbean.getCommittedVirtualMemorySize();
if (size == -1) {
System.out.println("getCommittedVirtualMemorySize() is not supported");
......@@ -88,11 +77,11 @@ public class GetCommittedVirtualMemorySize {
size);
}
if (size < MIN_SIZE_FOR_PASS || size > max_size_for_pass) {
if (size < MIN_SIZE_FOR_PASS || size > MAX_SIZE_FOR_PASS) {
throw new RuntimeException("Committed virtual memory size " +
"illegal value: " + size + " bytes " +
"(MIN = " + MIN_SIZE_FOR_PASS + "; " +
"MAX = " + max_size_for_pass + ")");
"MAX = " + MAX_SIZE_FOR_PASS + ")");
}
System.out.println("Test passed.");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册