Linux释放SWAP的方法
在LINUX系统维护中,往往会看到系统内存使用率很高,但是业务繁忙率却不是很高、或者是业务进程或者是有效进程均已不在了。因此我们就需要释放一些内存来缓解系统压力或者是清扫系统内存垃圾。
【产生原因】
1、系统进程僵死,资源未有效释放;
2、业务进程设计缺陷,由BUG导致;
3、数据的大量写、大量读取
4、客观业务事实
【处理方法】
通过人为方法干预操作系统内核对内存的管理
【处理步骤】
第一步:执行命令<sync>,完成内存缓存区(buffers cache)有效数据向外设的存储。
#sync
#sync
第二步:修改内核对内存的管理(主要是内存数据的清理)
# echo 3 > /proc/sys/vm/drop_caches //默认为0
注释:
有关/proc/sys/vm/drop_caches的用法见本文末尾【/proc/sys/vm/drop_caches的用法】
第三步:查看内存失败结果
#free -m
第四步:还原内核内存管理机制
# echo 0 > /proc/sys/vm/drop_caches
【/proc/sys/vm/drop_caches的用法】
/proc/sys/vm/drop_caches (since Linux 2.6.16)Writing to this
file causes the kernel to drop clean caches,dentries and inodes
from memory, causing that memory to becomefree.
To free pagecache, use echo 1 > /proc/sys/vm/drop_caches;
To free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
To free pagecache, dentries and inodes, use echo 3
>/proc/sys/vm/drop_caches. Because this is a non-destructive
operation and dirty objects