Disk-Usage

為什麼 free -h 的輸出與 free –giga 不同?

  • November 27, 2020

我面臨一個非常奇怪的問題。

在我的 Fedora PC 上,我有 12 GB 的交換文件。

但是當我發佈時,free -h我得到:

             total        used        free      shared  buff/cache   available
Mem:          7.7Gi       1.8Gi       3.7Gi       409Mi       2.2Gi       5.2Gi
Swap:          11Gi          0B        11Gi

如您所見,我的交換空間顯示為 11 GB,而實際上我有 12 GB。

這在我使用時得到糾正free --giga

             total        used        free      shared  buff/cache   available
Mem:              8           1           3           0           2           5
Swap:            12           0          12

在這裡我得到了正確的輸出。

-h 為什麼我使用vs 時會有區別--giga

這裡發生了什麼 ?

兩個命令使用不同的單位:-h以 1024 的冪顯示值(注意“Gi”後綴,表示gibibytes),--giga以 1000 的冪顯示值。

在您的情況下,12GB(千兆字節)是 12,000,000,000 字節,等於 11.2GiB(四捨五入到最接近的 0.1),free四捨五入到 11。

您可以強制free -h--si標誌使用 10 的冪:

free -h --si

units可以為您執行此類轉換:

$ units 12GB GiB
   * 11.175871
   / 0.089478485

引用自:https://unix.stackexchange.com/questions/621843