2017-11-28 2 views
1

は、私がhyperic sigar:GBでRAMの合計を取得するには?私は<a href="https://github.com/hyperic/sigar" rel="nofollow noreferrer">Sigar</a>ライブラリを使用してJavaでの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の結果を抱えています。

答えて

1

3.91物理的に利用可能なGigaBytesがあり、Sigarの数学は正しいです。

BIOSが内蔵グラフィックスデバイスまたはその他のデバイスにいくつかのRAMを予約しているかどうか確認してください。

+0

です。 。 。それはOKです...私はコントロールパネル>システム>基本情報で何かが間違っていると思った。私のコンピュータについて 'それは4.00ギガバイトを、とにかくありがとう! – Polar

+0

IIRCの場合、0.1はWindowsのRAM計算で1に丸められます。 3.90は3.90、3.91は4ですが、確かに別のシステムでテストしてください –

関連する問題