free -m內存使用情況解讀

魏艾斯博客之前發布過幾篇對Vultr VPS日本線路的評測,正好手裡有的兩個某寶購買的VPS,把這三個VPS的內存使用情況放在一起對比了一下,卧槽真的是不比不知道,下面用事(tu)實(pian)來說明真相。

以下三個VPS分別放在日本、香港和美國,都運行著wordpress博客程序,日本VPS的網站每天有1500左右的訪問量,另外兩個幾乎為0。

大家看圖就明白了,大品牌Vultr VPS的技術確實無可挑剔,比某寶私人弄的VPS高出不止一個檔次了。感興趣的可以參考Vultr VPS KVM 5美元/月 768M/15G SSD/1000G 日本使用評測。

有朋友說上面的命令結果我看不懂啊,那正好今天的主要內容就是有關free -m這條命令的解讀,以上面Vultr日本機房linux內存使用情況為例子看看。

total used free shared buffers cached

Mem: 1006 959 46 0 86 603

-/+ buffers/cache: 269 736

Swap: 0 0 0

1、Mem這一行:

total 內存總數: 1006M

used 已經使用的內存數: 959M

free 空閑的內存數: 46M

shared 當前已經廢棄不用,總是0

buffers Buffer 緩存內存數: 86M

cached Page 緩存內存數:603M

關係:total(1006M) = used(959M) + free(46M)

2、(-/+ buffers/cache)這一行:

(-buffers/cache) used內存數:269M (指的第一部分Mem行中的used – buffers – cached)

(+buffers/cache) free內存數: 736M (指的第一部分Mem行中的free + buffers + cached)

所以說-buffers/cache反映的是被現有程序實實在在吃掉的內存,而+buffers/cache反映的是你還可以挪用的內存數。

3、Swap是指交換分區, Linux的Swap類似於Windows的虛擬內存,就是把一部分硬碟空間虛擬成內存使用,用來解決內存容量不足的問題。

也有朋友對於Mem和-/+ buffers/cache中都有used和free卻並不相同很困惑,那這麼說也許你會理解:對linux系統來說看Mem的參數,buffers/cached 都是屬於被使用,所以它認為free只有232。而對應用程序來說(-/+ buffers/cach).buffers/cached是可用的,因為buffer/cached是緩存,用來提高程序執行的性能,當程序需要使用內存時,就會使用buffer/cached。平時我們說linux系統剩餘內存多少,一般是說(-/+ buffers/cache)的free還有多少,因為這個都是可用的。

說到這裡就不得不提windows,早些年512M內存和1G內存的時候,我們用XP系統玩一個大型遊戲,同時開著QQ、殺毒軟體、防火牆等別的軟體,系統會經常提示「windows虛擬內存不足」,這是一件多麼尷尬的事情啊!

windows的內存機制是這樣的:不管剩餘多少真實物理內存,都要把一部分硬碟空間拿出來做虛擬內存用,你想想硬碟速度怎麼能快過內存呢?不過windows7/8/10已經解決了這個問題,而且現在的物理內存都4G起步了,有的遊戲玩家攢機搞出16G內存來也是很常見的事情。

linux內存管理機制是把閑置的內存全部使用起來,等於是你的網站放在內存裡面跑,這樣網站打開速度與windows相比,是不是快多了呢?

我們看linux剩餘內存,只要swap交換空間是0就不用擔心內存不夠用。但是如果swap都用了很多,就像本文開頭那兩個VPS截圖的情況,就要考慮加物理內存或者換更高配置的VPS了,這也是檢查linux內存是否夠用的標準了。

轉載請註明:魏艾斯博客 ? free -m內存使用情況解讀


推薦閱讀:

伺服器安全狗Linux安裝教程
OPNFV在雙網卡物理機群上的部署(FUEL)
memcache在Windows和linux環境下的安裝和具體配置
解決WordPress插件更新「需要訪問您網頁伺服器許可權」的問題
使用雲鎖管理監控伺服器安全與性能

TAG:VPS | Linux | 伺服器 |