【问题标题】:hyperic sigar: How to get total of ram in GB?hyperic sigar:如何获得 GB 中的 ram 总数?
【发布时间】:2018-05-12 00:30:13
【问题描述】:

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

有什么想法吗?

【问题讨论】:

    标签: java math sigar


    【解决方案1】:

    您可能拥有 3.91 物理可用的千兆字节,Sigar 的数学计算是正确的。

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

    【讨论】:

    • 是这样的。 . .然后没关系...我认为有问题,因为在Control Panel > System > Basic info. about my computer 它显示 4.00 GB,无论如何谢谢!
    • IIRC,0.1 在 Windows RAM 计算中舍入为 1,例如。 3.90 是 3.90,3.91 是 4,但请随意在另一个系统上测试以确保
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多