hyperic sigar:如何获得GB中的ram总数?

时间:2017-11-28 14:03:08

标签: java math sigar

我试图使用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的结果。

任何想法?

1 个答案:

答案 0 :(得分:1)

你可能拥有 3.91物理可用的GigaBytes,Sigar的数学是正确的。

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