正確理解Linux內存占用過高的問題


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的。

 

本篇文章來源於 Linux公社網站(www.linuxidc.com)  原文鏈接:http://www.linuxidc.com/Linux/2012-08/67839.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM