【Linux】Ubuntu释放内存脚本

139 阅读1分钟

更新完Oracle系列的内容后,这次到Linux相关的知识点分享(本文初记录于2016年4月)。

这众所周知Ubuntu是有KDE和Gnome两款图形界面的,其中Gnome对于资源的消耗尤其严重(许多博主都说过这其中的原因了,我这里就不细讲了)。无奈,用户习惯让我对Gnome情有独钟而又给了我羞涩的钱包,在旧款的thinkpad中要流畅带动Ubuntu10.10还是有点难度的。别的不说,就用着用着卡就难受。

既然这样就写个脚本释放资源就可以了......(誓死不向万恶的资本低头)

root@ubuntu:/home/yzh# free -m  
            total      used       free     shared    buffers     cached  
Mem:        3432       2194       1237          0        576        761  
-/+ buffers/cache:      857       2574  
Swap:        221          0        221

这4GB的内存,跑到这个样子你还想它操作系统做些什么事情出来呢。

这脚本就比较简单了,基本上一行语句就可以了但是后面要放入定时器去执行还是写到脚本里面比较方便

free -m |grep -i mem |awk '{if($4 < 200){ printf("3") > "/proc/sys/vm/drop_caches"}}';  

这里的意思是当检查发现内存小于200MB的时候,就往drop_caches文件中写入一个3,之所以写入"3"是因为关于“/proc/sys/vm/drop_caches”的官方文档中其中一段就是这样说的“to free pagecache, dentries and inodes, use echo 3 > /proc/sys/vm/drop_caches”。

之后通过crontab启动执行脚本就不用说了吧,执行时间肯定使用秒级的就可以了。