中国网管论坛's Archiver

iamshiyu 发表于 2006-9-29 11:55

进一步了解linux的内存使用方式

偶然看到的介绍:很多人使用free命令可以看到,大部分内存都已经被使用了,就会有疑问是否如同win下一样,需要加内存了。可是加完发现还是只剩下比较少的一部分,大概不到100M(相对于几个G内存的服务器来说很少,当然对于普通的只有512甚至更少内存的就算凑合了)。其实是因为linux系统对于内存的使用策略是将大部分内存划归自己使用,或者说它不是在需要分配的时候再到物理内存中去划一块归某个进程使用,而是提前都划归自己名下,需要的时候再分配给具体的进程。这样就减少了内存的碎片,提高了效率。因此我们可以看到当有新的程序启动的时候,linux的内存占用不会提高多少,当然内存耗尽了另说——那个时候linux会把一些不常用到的进程换到swap中去。linux里面显示的已经使用内存是程序所占的内存和用作磁盘缓存的内存。而free的内存是真正的一点有没有派上用场的内存。所以看程序真正占用的内存应该要减掉cache

zhaojie78 发表于 2007-11-19 16:20

楼主的经验值得学习

页: [1]

Powered by Discuz! Archiver 6.1.0  © 1999-2008 bbs.bitsCN.com