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

标签 java memory operating-system

有没有什么方法可以从 java 中获取操作系统上总内存的大小?使用

Runtime.getRuntime().maxMemory()

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

最佳答案

com.sun.management.OperatingSystemMXBean bean =
  (com.sun.management.OperatingSystemMXBean)
    java.lang.management.ManagementFactory.getOperatingSystemMXBean();
long max = bean.getTotalPhysicalMemorySize();

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

关于java - 从java获取操作系统内存大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4335356/

相关文章:

java - java中的正则表达式验证电话号码不起作用

java - gradle runJar 任务?

c - 堆栈和堆内存都引用 RAM(假设没有使用分页)吗?

java - 比较两个 XmlBeans 对象是否相等

java - gridbaglayout 将组件定位到中心

perl - 为什么我的 'use my_module;'占用这么多堆内存?

c++ - 如何判断返回的指针是在栈上还是堆上

matlab - 如何在不创建变量的情况下确定内存中变量的大小?

c - 很难理解消费者生产者问题中的一个问题

c - 我需要了解编译器如何解释 &tcb -> context