linux释放内存
首先我们可能会用free 去查看内存的使用率,它应该是这样的
[root@ipython ~]# free -m total used free shared buffers cached Mem: 32040 31707 332 0 498 27649 -/+ buffers/cache: 3559 28480 Swap: 16087 0 16087 ##实际上在一个进程结束后其内存是会被释放的,但是内核没有立刻把内存收集到free中,而是存放在cache或buffers当中,以提高系统的IO效率,cache和buffered的内存是由内核进行动态的配置管理,如果系统的free大小不够的时候,系统会自动释放cache buffer的内存给程序使用!## ##证:如果说used占用很多,free很少,而且cache和buffer占的比例也很小,那表明内存是不够用了##
1 2 3 4 5 6 7 8 9 |
[root@ipython ~]# free -m total used free shared buffers cached Mem: 32040 31707 332 0 498 27649 -/+ buffers/cache: 3559 28480 Swap: 16087 0 16087
##实际上在一个进程结束后其内存是会被释放的,但是内核没有立刻把内存收集到free中,而是存放在cache或buffers当中,以提高系统的IO效率,cache和buffered的内存是由内核进行动态的配置管理,如果系统的free大小不够的时候,系统会自动释放cache buffer的内存给程序使用!##
##证:如果说used占用很多,free很少,而且cache和buffer占的比例也很小,那表明内存是不够用了## |
当然,如果你仍需要看到free比较多,你可以尝试这样
1、使用sync命令将所有未写的系统缓存区write to disk,包含已修改的i node、已延迟的块I\O和读写映射 [root@ipython ~]# sync 2、粗暴清理 [root@ipython ~]# cat /proc/sys/vm/drop_caches 0 ##可以看到默认是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 cached Mem: 32040 2564 29475 0 0 40 -/+ buffers/cache: 2524 29515 Swap: 16087 0 16087
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
1、使用sync命令将所有未写的系统缓存区write to disk,包含已修改的i node、已延迟的块I\O和读写映射 [root@ipython ~]# sync
2、粗暴清理 [root@ipython ~]# cat /proc/sys/vm/drop_caches 0 ##可以看到默认是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 cached Mem: 32040 2564 29475 0 0 40 -/+ buffers/cache: 2524 29515 Swap: 16087 0 16087 |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。