我们会在系统中安装内存监测工具来查看内存占用情况,它是服务器的运行效率的一个重要的参考指标,如果内存占用过大时如何快速的释放内存,今天我们来聊一下!
内存机制 {#内存机制}
Linux 在运行时会将硬盘中的常用数据缓存在内存,通过内存的速率提升系统的效率。
Linux 内存的占用分为真实占用、缓存占用、缓冲占用,其中后两者是为了提升系统运行效率,可以关闭或者清空,以达到释放内存的目的。
释放脚本 {#释放脚本}
我们的脚本就是基于这个原理实现的,但因为 Linux 把文件放在内存中执行,如果直接释放,必然会导致数据的丢失,所以我们在释放前,还需要做一个同步操作,具体脚本如下:
|-------------------------|------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8
| #!/bin/bash echo "Release Before: " free -h sync sleep 10 echo 3 > /proc/sys/vm/drop_caches echo "Release After: " free -h
|