我正在编写一个安装程序,它将针对将要运行的特定硬件调整产品的配置。特别是,我想确定系统中安装了多少物理 RAM,这样我就可以估计在产品运行时要分配多少内存。
理想情况下,我希望以独立于平台的纯 Java 方式执行此操作,因为安装程序需要在多个不同的平台上运行,但如果无法做到这一点,则首选适用于 Windows 的解决方案,因为这是最常见的部署平台。
在这种情况下,可以肯定地假设该产品将是盒子上运行的唯一/主要应用程序,因此我不必担心会挤掉其他人。我不想过度分配,因为根据我们的经验,这会损害性能。
最佳答案
您可以使用以下Java代码查询物理内存:
com.sun.management.OperatingSystemMXBean os = (com.sun.management.OperatingSystemMXBean)
java.lang.management.ManagementFactory.getOperatingSystemMXBean();
long physicalMemorySize = os.getTotalPhysicalMemorySize();
但是 com.sun.management
包是可选的,不需要在每个平台上都可用。
关于java - 如何在 Java 中找到物理内存大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/950754/