2016-06-01 1 views
1

외부 SSD 디스크 (/ dev/sda)가 있습니다.getFreeSpace/getTotalSpace/getUsableSpace를 사용하는 이유가 df -H 명령에서 다른 출력을 제공합니다.

입력 안양 -h :

size used avil use% 
587G 383G 175G 69% 

때 입력 안양 - H :

size used avil use% 
630G 411G 188G 69% 

내가 갖는 getTotalSpace()/(1024*1024)를 사용하여 : 600,772

내가 갖는 getUsableSpace()/(1024*1024)를 사용하여 : 178568

사용시 getFreeSpace()/(1024*1024) 나는 getti입니다. ng : 209108

내가 친자 관계로 사용량을 계산하려고 시도하면 69 %를 얻지 못할 것입니다.

버그 란 무엇입니까?

+0

DF 출력에서 ​​직접 백분율을 계산하면 69 %를 얻지 못합니다 (그 대신 백분율이 Java에서와 동일하여 반올림하지 않습니다). DF –

답변

0

df의 69 %는 "used/(used + available)"로 계산되며 383/(383 + 175) = 69%입니다. 그것은 "used/size"로 계산되지 않습니다.

Java에서 "사용"하지 않았습니다 ("크기 - 사용 가능"과 같지 않음). 따라서 동일한 계산을 할 수 없습니다.

하지만 두 경우 모두 "가능/크기"를 계산할 수 있습니다

  1. 630분의 188 = 30 %
  2. 600,772분의 209,108 = 30 %

에는 버그가 없습니다. 너는 다른 것들을 비교하고 있었다.

+0

의 특이점을 어디에서 알 수 있는지 수퍼 유저에게 물어보십시오. 어떻게하면 Java에서이 (여유 공간의 %)을 계산할 수 있습니까? –

+0

@ 붐 나는 나의 대답에 너의 숫자를 사용했다. '209108/600772 = 30 %'당신은이 숫자들 각각이 자바 호출에서 오는 귀하의 질문에서 볼 수 있습니다 –

관련 문제