CentOS 6 서버에서 RAM을 모니터링하고 있는데 free -h
사용 가능한 15G가 보이면 괜찮습니다. 하지만 free -b
1641154969바이트가 보이면 1,641154969G와 같습니다.
free -h
total used free shared buffers cached
Mem: 15G 3.0G 12G 1.7M 39M 671M
-/+ buffers/cache: 2.3G 12G
Swap: 7.7G 0B 7.7G
free -b
total used free shared buffers cached
Mem: 1641154969 3238035456 1317351424 1781760 41451520 704331776
-/+ buffers/cache: 2492252160 1391929753
Swap: 8279552000 0 8279552000
답변1
CentOS 6에서 사용되는 것과 같은 이전 버전에서는 free
값당 최대 10자리만 표시합니다. 표시된 "1641154969"에 마지막 숫자가 없습니다. 이건 고정됐어버전 3.3.10 기준; free
이제 최대 11자리까지 표시됩니다. 이는 하나의 숫자를 표시하기에 충분합니다.애비바이트메모리. (확인하지는 않았지만 버전 3.3.0(이전이 아닌 경우)의 변경 사항으로 인해 이 문제가 해결될 수도 있습니다.)
표시된 160억 바이트와 "15G"의 차이는 여기서 스케일링이 16411549690을 1024×1024×1024로 나눈 값이 15.284이므로 15로 표시됩니다. 현재 버전이 장치에 free
추가되어 i
장치가 사용 중임을 명확히 합니다.바이너리 접두사.
답변2
이 질문은 두 가지 다른 범주를 혼동합니다바이트단위, 즉 십진수G기가바이트그리고 바이너리운이 좋은더블바이트:
Prefixes for multiples of
bits (bit) or bytes (B)
Decimal Binary
Value SI Value IEC
1000 10^3 k kilo 1024 2^10 Ki kibi
1000^2 10^6 M mega 1024^2 2^20 Mi mebi
1000^3 10^9 G giga 1024^3 2^30 Gi gibi
이 free -h
명령은 인쇄합니다기비바이트, free -b
인쇄하는 동안바이트. 수학을 수행하십시오. (먼저 0
보상할 바이트 수 뒤에 a를 추가하십시오.free
에서 지적된 오류스티븐 지터답변):
echo $(( 16411549690 / (10**9) )) # gigabytes
echo $(( 16411549690 / (2**30) )) # gibibytes
산출:
16
15
과거에 하드 드라이브 공급업체는 이러한 일반적인 혼란을 이용하여 한 공급업체가 집단 소송에서 패하기도 했습니다. 바라보다오린 사피어(Orin Safier) v. 웨스턴 디지털 코퍼레이션(Western Digital Corporation),안에2006년에는 화가 난 구매자들이 상을 받았습니다.$30실제 돈이 아닌 각 백업 소프트웨어의 가치그들의 문제 때문에.