Install4J-SystemInfo.getPhysicalMemory()返回0

问题描述 投票:1回答:1

根据以下文档:https://www.ej-technologies.com/resources/install4j/help/api/com/install4j/api/SystemInfo.html#getPhysicalMemory()

Install4J操作中的SystemInfo.getPhysicalMemory()函数应返回当前系统中可用内存的总数(以字节为单位)。但是,当前返回的0表示文档说明该信息不可用。

[他们的一篇博客文章中提供了一个示例:https://www.ej-technologies.com/blog/2010/12/more-installation-options-with-install4j/

以前有没有人看过/解决过这个问题?是什么原因阻止Install4J检索此信息?

java memory action install4j
1个回答
0
投票

此方法尝试通过调用获取值

com.sun.management.OperatingSystemMXBean.getTotalPhysicalMemorySize()

如果ManagementFactory.getOperatingSystemMXBean()的返回值具有上述类型。

失败,它将根据平台尝试不同的策略:

  • 在Windows上,它使用调用Windows API的本机实现
  • 在macOS上,它尝试调用sysctl hw.memsizesysctl hw.physmem并返回第一个非零值
  • 在Linux上,它检查"/proc/meminfo并读取MemTotal条目。

如果这些都不起作用,则返回0。

© www.soinside.com 2019 - 2024. All rights reserved.