首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CentOS5.8 x86_64系统手动释放内存

线上集群后端某台Web服务器例行检查时,我观察到+buffers/cache值(即Linux内存的实际使用情况)一直都是5365左右,就算停掉Nginx+FastCGI程序和其它程序也是一样,考虑到这台机器经常在使用rsync+inotify,肯定会存在着频繁存取文件的情况。而Linux系统有一个特性:在Linux下频繁存取文件时,就会占用物理内存。当程序结束时并不会自动释放被占用的内存,而是一直作为Cache存在。实际上内核结束一个程序后,它是会释放内存的,但是内核并没有立刻将这部分收集到free当中,而是存在在cached或者buffer当中,提高系统的io效率,cache和buffered的内存是由内核进行动态的配置管理,如果系统的free大小不够的时候,系统会自动释放cache buffer的内存给程序使用(因此如果是看到used很多,来手动释放内存其实是不需要的,我前面的文章及书籍其实也说明了我们应该如何观察Linux系统的实际内存使用情况,这里就不再多描述了)。

02
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    10万条数据!断更一年?热爱让我们走的更远

    上次更新的最后一篇文章还是在去年的四月份,除了个人原因,也有这10万条数据的功劳。每次进入网站都是出现各种各样错误,也怪自己不去看报错,有时候会直接进不去,出先错误页面。Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allo 这就是报错信息了,大致意思就是,内存超出了,后面百度才明白、、:是因为php默认内存限制是128M,所以需要修改php.ini文件。查找到memory_limit = 128M这一行,将128M改大点,我这里直接是改成了2048M。 重启服务器,通过sudo /usr/sbin/apachectl restart来重启apache服务器,当然其实用终端执行php的话,不重启服务器也是可以的。 重新执行php文件,成功,OK

    01
    领券