2017-11-28 13 views
1

나는, 나는hyperic sigar : GB로 총 RAM을 얻는 방법?

return String.valueOf(sigar.getMem().getRam()); 

내 총 RAM 4GB까지 다음을 수행 Sigar 라이브러리를 사용하여 자바에서 총 램을 얻으려고, 그래서 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

입니다. . . 그렇다면 괜찮습니다 ... 'Control Panel> System> Basic info에서 뭔가 잘못되었다고 생각했습니다. 내 컴퓨터'에 대해 4.00 GB를 보여 주며, 어쨌든 고맙다! – Polar

+0

IIRC, 0.1은 Windows RAM 계산에서 1로 반올림됩니다. 3.90은 3.90, 3.91은 4이지만 다른 시스템에서 테스트하여 자유롭게 확인하십시오. –