转自《谈谈Linux内存释放》首先我们可能会用free 去查看内存的使用率,它应该是这样的:[root@ipython ~]# free -m total used ...
转自《谈谈Linux内存释放》
首先我们可能会用free 去查看内存的使用率,它应该是这样的:
[root@ipython ~]# free -m total used free shared buffers cachedMem: 32040 31707 332 0 498 27649-/+ buffers/cache: 3559 28480Swap: 16087 0 16087 ##实际上在一个进程结束后其内存是会被释放的,但是内核没有立刻把内存收集到free中,而是存放在cache或buffers当中,以提高系统的IO效率,cache和buffered的内存是由内核进行动态的配置管理,如果系统的free大小不够的时候,系统会自动释放cache buffer的内存给程序使用!####证:如果说used占用很多,free很少,而且cache和buffer占的比例也很小,那表明内存是不够用了##[root@ipython ~]# sync 2、粗暴清理[root@ipython ~]# cat /proc/sys/vm/drop_caches0##可以看到默认是0,drop_caches提供了三个选项操作##1 清空页缓存 2 清空inode和目录树缓存 3 清空所有的缓存 ##清空缓存页##[root@ipython ~]# echo "1">/proc/sys/vm/drop_caches ##再来看看##[root@ipython ~]# free -m total used free shared buffers cachedMem: 32040 2564 29475 0 0 40-/+ buffers/cache: 2524 29515Swap: 16087 0 16087
原标题:Linux内存释放
关键词:linux
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。