做了個24小時的穩定性測試,探討了Linux的Mem使用情況:
看內存最方便的命令是free -m,如:
[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 ~]#
從上看出這個Linux系統一共有內存1024M,但當前Linux 系統已經占用的內存有多少呢?大多數用戶的答案是1005M,其實不然。
當前VPS占用的內存應該是212M,也就是1005下面那個數字:212,代表已經占用的內存。後面的那個811,代表當前Linux系統的可用內存。
"-/+ buffers/cache:"開頭的這行才是實際的占用內存和可用內存。
為什麼會這樣?這是由Linux Kernel的內存管理方式決定的,buffers,cached可以看作是被程序或者內核用過的內存,這些內存曾經被使用過,但現在已經被釋放了,釋放之後Linux Kernel把他們當作buffers或cached ,這樣下次有程序申請內存的時候,內核可以快速響應。所以buffers和cached部分的內存應該看成是可用內存。
所以,看內存使用情況,應該看"-/+ buffers/cache:"開頭的這一行,如果這一行最後的數字接近0,那麼說明Linux系統的內存快用完了,這時候Linux系統反應就比較慢。如果這個數字還比較大,那麼Linux系統還有較多內存可用,系統不應該慢。