linux手动释放swap内存

Linux系统中,一般物理内存紧张时,会开始用到swap(就是虚拟内存,可修改 /etc/sysctl.conf 文件中 vm.swappiness参数,设置什么时候开始使用内存),swap中存储的就是内核会将暂时不用的内存块信息写到交换空间,这样物理内存得到了释放,这块内存就可以用于其它目的,当需要用到原始的内容时,这些信息会被重新从交换空间读入物理内存。
时候需要释放掉swap做个大小修改,执行以下步骤:
1、执行sync命令
#sync
sync命令用于强制被改变的内容立刻写入磁盘,更新超块信息,以防止释放,sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。
2、释放缓存
首先要保证物理内存剩余要大于等于swap使用量,否则会宕机!根据内存机制,swap分区一旦释放,所有存放在swap分区的文件都会转存到物理内存上。
#echo 3 > /proc/sys/vm/drop_caches
此指令输入立即生效,意在释放所有缓存。
3、关闭swap,再开启 swap
#swapoff -a
#swapon -a

转载注明原文:linux手动释放swap内存 - 代码日志