【发布时间】:2018-05-12 00:30:13
【问题描述】:
我正在尝试使用 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 的结果。
有什么想法吗?
【问题讨论】: