很多VPS用戶在查看Linux操作系統的內存使用情況方面有誤解,我們經常給客戶解釋怎樣看一個Linux VPS的內存使用情況,總結如下:
看內存最方便的命令是free -m,在我的VPS上運行,結果如下:
[root@host ~]# free -m
total used free shared buffers cached
Mem: 1024 1005 19 0 9 782
-/+ buffers/cache: 212 811
Swap: 996 0 995
[root@host ~]#
明顯能看出,這個VPS一共有內存1024M,沒錯!
但當前VPS已經占用的內存有多少呢?大多數用戶的答案是1005M,其實不然。當前VPS占用的內存應該是212M,也就是1005下面那個數字:212,代表已經占用的內存。後面的那個811,代表當前VPS的可用內存。"-/+ buffers/cache:"開頭的這行才是實際的占用內存和可用內存。
為什麼會這樣?這是由Linux Kernel的內存管理方式決定的,buffers,cached可以看作是被程序或者內核用過的內存,這些內存曾經被使用過,但現在已經被釋放了,釋放之後Linux Kernel把他們當作buffers或cached ,這樣下次有程序申請內存的時候,內核可以快速響應。所以buffers和cached部分的內存應該看成是可用內存。
所以,看內存使用情況,應該看"-/+ buffers/cache:"開頭的這一行,如果這一行最後的數字接近0,那麼說明VPS的內存快用完了,這時候VPS反應就比較慢。如果這個數字還比較大,那麼VPS還有較多內存可用,系統不應該慢。