1

我正在尝试使用Sigar库在 Java 中获取 Total Ram,我执行以下操作

return String.valueOf(sigar.getMem().getRam());

我的总 RAM 是 4GB,所以我期待44.00但结果是4008.

我尝试了以下方法:

long x = sigar.getMem().getTotal();
final String[] units = new String[] { "B", "KB", "MB", "GB", "TB" };
int digitGroups = (int) (Math.log10(x) / Math.log10(1024));
return new DecimalFormat("#,##0.##")
           .format(x / Math.pow(1024, digitGroups)) + " " + units[digitGroups];

但我仍然得到3.91 GB.

任何想法?

4

1 回答 1

1

您可能3.91 个物理上可用的 GigaBytes,Sigar 的计算结果是正确的。

检查您的 BIOS 是否为集成图形设备或其他一些恶魔保留了一些 RAM。

于 2017-11-28T14:37:56.693 回答