前往顾页
以后地位: 主页 > 精通Office > Ubuntu教程 >

CentOS5.8 x86_64体系手动开释内存

时候:2014-07-02 22:43来源:知行网www.zhixing123.cn 编辑:麦田守望者

线上集群后端某台Web办事器例行查抄时,我察看到+buffers/cache值(即Linux内存的实际利用环境)一向都是5365摆布,就算停失落Nginx+FastCGI法度和别的法度也是一样,考虑到这台机器常常在利用rsync+inotify,必定会存在着频繁存取文件的环境。而Linux体系有一个特性:在Linux下频繁存取文件时,就会占用物理内存。当法度结束时其实不会主动开释被占用的内存,而是一向作为Cache存在。实际上内核结束一个法度后,它是会开释内存的,但是内核并没有立即将这部分汇集到free当中,而是存在在cached或buffer当中,进步体系的io效力,cache和buffered的内存是由内核进行静态的建设办理,如果体系的free年夜小不敷的时候,体系会主动开释cache buffer的内存给法度利用(是以如果是看到used很多,来手动开释内存实际上是不需求的,我前面的文章及册本其实也说了然我们应当若何察看Linux体系的实际内存利用环境,这里就不再多描述了)。

操纵步调:

1、查询以后内存利用环境和开释缓存的参数

free -m

号令成果如示所示:

total       used       freeshared    buffers     cached

Mem:         10988       6792       4196          0        168       1001

-/+ buffers/cache:       5622       5365

Swap:         4295          0       4295

检察开释缓存参数的号令,以下所示:

cat/proc/sys/vm/drop_caches

体系默许显现为0,0为默许值,即表示不开释。

2、利用sync号令,将体系缓存区中的脏数据写入磁盘中,包含已点窜的i-node、已延迟的块I/O和读写映照文件,号令以下:

sync

3、建设文件/proc/sys/vm/drop_caches中记录了缓存开释的参数,号令以下:

echo3 > /proc/sys/vm/drop_caches

4、不重启机器使建设改见效,号令以下:

sysctl -p

履行以上操纵今后, +buffers/cache值由5365涨到了9000多,这个值就规复一般了。不太小我感觉Linux办理内存的体例实际上是很优良的,很多时候其实不需求手动开释内存。

顶一下
(0)
0%
踩一下
(0)
0%
------分开线----------------------------
标签(Tag):Linux Ubuntu 操纵体系 Unix Android fedora debian
------分开线----------------------------
颁发评论
请自发遵循互联网相关的政策法规,严禁公布色情、暴力、革命的谈吐。
评价:
神色:
考证码:点击我更换图片
猜你感兴趣