从java获取操作系统内存大小

sor*_*rke 10 java memory operating-system

有没有办法从java获取操作系统上的总内存大小?运用

Runtime.getRuntime().maxMemory()
Run Code Online (Sandbox Code Playgroud)

返回JVM的允许内存,而不是操作系统的内存.有没有人有办法获得这个(从java代码)?

kha*_*hik 14

com.sun.management.OperatingSystemMXBean bean =
  (com.sun.management.OperatingSystemMXBean)
    java.lang.management.ManagementFactory.getOperatingSystemMXBean();
long max = bean.getTotalPhysicalMemorySize();
Run Code Online (Sandbox Code Playgroud)

返回JVM的可用RAM大小(受32位限制),而不是堆大小.