释放系统内存
配置文件/proc/sys/vm/drop_caches。这个文件中记录了缓存释放的参数,默认值为0,也就是不释放缓存。他的值可以为0~3之间的任意数字,代表着不同的含义:
0 – 不释放
1 – 释放页缓存
2 – 释放dentries和inodes
3 – 释放所有缓存
//首先我们需要使用sync指令,将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件。否则在释放缓存的过程中,可能会丢失未保存的文件。
#sync
//接下来,我们需要将需要的参数写进/proc/sys/vm/drop_caches文件中,比如我们需要释放所有缓存,就输入下面的命令:
#echo 3 > /proc/sys/vm/drop_caches
//此指令输入后会立即生效,可以查询现在的可用内存明显的变多了。要查询当前缓存释放的参数,可以输入下面的指令:
#cat /proc/sys/vm/drop_caches
释放swap分区
//在执行以上操作以后,查看你的swap分区还是满了,你首先查看一下你实际的内存剩多少空间,然后在查看自己的swap空间用了多少,首先提前保证实际剩余的内存比你的swap的内存的空间要大,然后执行一下操作,否则会宕机的!
首先我们停掉swap分区,查看swap分区
//会查看到你的swap分区是挂在哪里!
# swapon -s
//然后比如说我的是挂到/dev/dm-1
# swapoff /dev/dm-1
//停止是需要一段时间的,因为他会把内存释放到实际内存当中,然后在启动我们的swap分区
# swapon -a
//我们的swap分区内存已经成功释放到了实际内存当中!
本文出自 “流星宇” 博客,谢绝转载!
原文:http://8789878.blog.51cto.com/8779878/1708752