java - 如何在 Java 中找到物理内存大小?

标签 java memory installation memory-management

我正在编写一个安装程序,它将针对将要运行的特定硬件调整产品的配置。特别是,我想确定系统中安装了多少物理 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/

相关文章:

java - 使用 Java Stream 从一组集合中收集所有对象

c++ - 在同一内存地址不需要的对象创建

javascript - 在 Angular 项目上安装 Bootstrap

java - 调用 java 属性文件时应该使用哪个路径?

java - 如何在 Android 的 AlertDialog 中创建动画?

java - 对数组列表进行排序和分类

javascript - 如果我在 Javascript 中创建一个类的多个实例,每个实例的每个函数是否像变量一样在内存中获得自己的空间?

java - 加载测试内存问题

python - 使用pyenv时出现错误?

linux - 在 Linux 上安装 apache2 无法验证 root :root