-
Bug
-
Resolution: Fixed
-
P4
-
6, 6u10
-
b56
-
generic, x86
-
solaris_8, windows_vista
FULL PRODUCT VERSION :
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)
java version "1.7.0-ea-fastdebug"
Java(TM) SE Runtime Environment (build 1.7.0-ea-fastdebug-b58)
Java HotSpot(TM) Client VM (build 16.0-b02-fastdebug, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Windows XP 64-Bit
Microsoft Windows [Version 5.2.3790]
EXTRA RELEVANT SYSTEM CONFIGURATION :
there should be more than 4G of RAM
A DESCRIPTION OF THE PROBLEM :
Such properties of com.sun.management.OperatingSystemMXBean as
TotalSwapSpaceSize
FreeSwapSpaceSize
TotalPhysicalMemorySize
FreePhysicalMemorySize
have incorrect values (namely 4294967295 = 0xffffffff) when there is 32bit jre and there are more than 4G of RAM.
Note: 64bit jre shows correct values.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
something like
TotalSwapSpaceSize 364c45000
FreeSwapSpaceSize 2e28f6000
TotalPhysicalMemorySize 1ffecf000
FreePhysicalMemorySize 168295000
ACTUAL -
TotalSwapSpaceSize ffffffff
FreeSwapSpaceSize ffffffff
TotalPhysicalMemorySize ffffffff
FreePhysicalMemorySize ffffffff
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import java.lang.management.ManagementFactory;
import com.sun.management.OperatingSystemMXBean;
public class Main {
public static void main(String... args) {
OperatingSystemMXBean bean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
System.out.println("TotalSwapSpaceSize " + Long.toHexString(bean.getTotalSwapSpaceSize()));
System.out.println("FreeSwapSpaceSize " + Long.toHexString(bean.getFreeSwapSpaceSize()));
System.out.println("TotalPhysicalMemorySize " + Long.toHexString(bean.getTotalPhysicalMemorySize()));
System.out.println("FreePhysicalMemorySize " + Long.toHexString(bean.getFreePhysicalMemorySize()));
}
}
---------- END SOURCE ----------
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)
java version "1.7.0-ea-fastdebug"
Java(TM) SE Runtime Environment (build 1.7.0-ea-fastdebug-b58)
Java HotSpot(TM) Client VM (build 16.0-b02-fastdebug, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Windows XP 64-Bit
Microsoft Windows [Version 5.2.3790]
EXTRA RELEVANT SYSTEM CONFIGURATION :
there should be more than 4G of RAM
A DESCRIPTION OF THE PROBLEM :
Such properties of com.sun.management.OperatingSystemMXBean as
TotalSwapSpaceSize
FreeSwapSpaceSize
TotalPhysicalMemorySize
FreePhysicalMemorySize
have incorrect values (namely 4294967295 = 0xffffffff) when there is 32bit jre and there are more than 4G of RAM.
Note: 64bit jre shows correct values.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
something like
TotalSwapSpaceSize 364c45000
FreeSwapSpaceSize 2e28f6000
TotalPhysicalMemorySize 1ffecf000
FreePhysicalMemorySize 168295000
ACTUAL -
TotalSwapSpaceSize ffffffff
FreeSwapSpaceSize ffffffff
TotalPhysicalMemorySize ffffffff
FreePhysicalMemorySize ffffffff
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import java.lang.management.ManagementFactory;
import com.sun.management.OperatingSystemMXBean;
public class Main {
public static void main(String... args) {
OperatingSystemMXBean bean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
System.out.println("TotalSwapSpaceSize " + Long.toHexString(bean.getTotalSwapSpaceSize()));
System.out.println("FreeSwapSpaceSize " + Long.toHexString(bean.getFreeSwapSpaceSize()));
System.out.println("TotalPhysicalMemorySize " + Long.toHexString(bean.getTotalPhysicalMemorySize()));
System.out.println("FreePhysicalMemorySize " + Long.toHexString(bean.getFreePhysicalMemorySize()));
}
}
---------- END SOURCE ----------
- duplicates
-
JDK-6628662 OperatingSystemMXBean implementation should use GlobalMemoryStatusEx (win)
-
- Closed
-