hyperic sigar:如何获得 GB 中的 ram 总数?
hyperic sigar: How to get total of ram in GB?
我正在尝试使用 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
。
有什么想法吗?
您可能有 3.91 物理可用 GigaBytes,Sigar 的数学是正确的。
检查您的 BIOS 是否为集成图形设备或其他一些东西预留了一些 RAM。
我正在尝试使用 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
。
有什么想法吗?
您可能有 3.91 物理可用 GigaBytes,Sigar 的数学是正确的。
检查您的 BIOS 是否为集成图形设备或其他一些东西预留了一些 RAM。