正确理解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