CentOS 64位元升級2G內存,可是查出來卻不到2G
$ free -m
total used free shared buffers cached
Mem: 1876 605 1270 0 2 67
-/+ buffers/cache: 535 1340
Swap: 0 0 0
請問是不是被坑了,如何在運營商面前發飆不被看出來很菜?
其實你裝上2G的內存,能出來 total :1876就已經能證明是2g的內存了。 。如果記憶體有問題,難道是3G的縮水到1876?
看的出來題主還是對1024那個演算法不服,怎麼就能算出來1876了呢 ?
請題主運行2個指令把結果貼出來
1.
cat /proc/meminfo |grep MemTotal
2.
free -b
我用4G的舉例(還真沒有2G的機器)
1.
free -m
total:3852 MB
1.
free -b
(這個單位是bytes!)total:4039471104 bytes
2.
cat /proc/meminfo |grep MemTotal
3944796 kB
3944796 kB*1024=4039471104bytes,和free -b結果是相同的
4039471104bytes / 1024=3944796 kB / 1024=3852.33984375MB
正如你所看到的。 。明白了嗎?或是你執行這3個指令貼出來,算一下就知道了
你沒被坑,就是2G記憶體。
製造商說的2GB,單位是Gigabyte,1GB等於1000^3 Byte
我們平常說的GB,單位是Gibibyte,規範的縮寫應該是GiB,等於1024^3 Byte
所以會造成兩邊數據不一致。
準確的方法是:
(grep的內容看發行版本不同而異,我是CentOS 6,不確定的可以不grep,直接看,就是內容比較多)
為什麼說free -m不準:free指令是從/proc/meminfo中取數值展現,而/proc/meminfo中的MemTotal其實是實體記憶體減去一些預留位元和核心的二進位程式碼大小,所以是比物理記憶體小寫一些。
free -m
total used free shared buffers cached
Mem: 488 424 64 54 22 205
-/+ buffers/cache: 196 292
Swap: 1999 0 1999
上面是我的一台阿里雲主機,一樣少了一些,現在服務商一般都說是1024和1000演算法的不同引起,一般認為是正常的。買硬碟硬體時也一樣。
這個是2G的正常數值