我正在尝试使用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
.
任何想法?