我试图使用Sigar库获取Java中的Total Ram,我执行以下操作
return String.valueOf(sigar.getMem().getRam());
我的总RAM是4GB,所以我期待4
或4.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
的结果。
任何想法?
答案 0 :(得分:1)
你可能拥有 3.91物理可用的GigaBytes,Sigar的数学是正确的。
检查您的BIOS是否为集成图形设备或其他一些恶魔保留了一些RAM。