搜尋

首頁  >  問答  >  主體

centos - 升級2G內存,可是查出來卻不到2G,請問是不是被坑了?

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

請問是不是被坑了,如何在運營商面前發飆不被看出來很菜?

曾经蜡笔没有小新曾经蜡笔没有小新2863 天前1109

全部回覆(4)我來回復

  • 滿天的星座

    滿天的星座2017-04-25 09:03:41

    其實你裝上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個指令貼出來,算一下就知道了

    回覆
    0
  • 滿天的星座

    滿天的星座2017-04-25 09:03:41

    你沒被坑,就是2G記憶體。
    製造商說的2GB,單位是Gigabyte,1GB等於1000^3 Byte
    我們平常說的GB,單位是Gibibyte,規範的縮寫應該是GiB,等於1024^3 Byte
    所以會造成兩邊數據不一致。

    準確的方法是:

    dmidecode -t memory | grep 'Installed Size'
    

    (grep的內容看發行版本不同而異,我是CentOS 6,不確定的可以不grep,直接看,就是內容比較多)

    為什麼說free -m不準:free指令是從/proc/meminfo中取數值展現,而/proc/meminfo中的MemTotal其實是實體記憶體減去一些預留位元和核心的二進位程式碼大小,所以是比物理記憶體小寫一些。

    回覆
    0
  • 漂亮男人

    漂亮男人2017-04-25 09:03:41

    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演算法的不同引起,一般認為是正常的。買硬碟硬體時也一樣。

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-25 09:03:41

    這個是2G的正常數值

    如果你用redhat或其他發行版,可以用指令dmidecode,查看硬體資訊

    回覆
    0
  • 取消回覆