Linux開機後,使用top命令查看,4G物理內存發現已使用的多達3.2G,占用率高達80%以上:
Mem: 3889836k total, 3341868k used, 547968k free, 286044k buffers
Swap: 6127608k total, 0k used, 6127608k free, 1554888k cached
如上紅色數字部分,使用free查看結果如下:
[root@rd01 ~]# free -m
total used free shared buffers cached
Mem: 3798 3264 534 0 279 1518
-/+ buffers/cache: 1466 2332
Swap: 5983 0 5983 紅色數字部分已使用內存而已是3264M,那是不是表示系統內存就真的占用這麼多呢,這可才運行了一個網站而已,不可能就被占用這麼多啊!
注意看藍底部分,這部分表示系統高速緩存所使用的內存,這部分內存可以隨時分配給進程使用,因此,真正剩余內存應該free下534+2332=2866M,因此剩余物理內存應該為2866M,而不是534M。
因此查看目前進程正在實際被使用的內存,是used-(buffers+cache),也可以認為如果swap沒有大量使用,mem還是夠用的,只有mem被當前進程實際占用完(沒有了buffers和cache),才會使用到swap的。