感谢支持
我们一直在努力

CentOS 5 释放内存的方法

CentOS 5这种释放方法是相当地痛快,而且如果真是non-destructive operation的话那就太好了,jvm 的内存占用一下子减少了接近300m.


#sync


To free pagecache, dentries and inodes:


#echo 3 > /proc/sys/vm/drop_caches




This is a non-destructive operation and will only free things that are completely unused. Dirty objects will continue to be in use until written out to disk and are not freeable. If you run “sync” first to flush them out to disk, these drop operations will tend to free more memory.




再说说 free 命令


# free -m
             total       used       free     shared    buffers     cached
Mem:           497        438         59          0         20        325
-/+ buffers/cache:         92        404
Swap:          511         22        489




其中:
total 内存总数
used 已经使用的内存数
free 空闲的内存数
shared 多个进程共享的内存总额
buffers buffer Cache和cached Page Cache 磁盘缓存的大小
-buffers/cache (已用)的内存数:used – buffers – cached
+buffers/cache(可用)的内存数:free + buffers + cached
可用的memory=free memory+buffers+cached




下面包含一个自动释放内存的脚本,网上学习的, 加入了crondtab计划任务了


# vim /root/shTools/freemem.sh

#!/bin/bash used=`free -m | awk ‘NR==2’ | awk ‘{print $3}’` free=`free -m | awk ‘NR==2’ | awk ‘{print $4}’` echo “===========================” >> /var/log/mem.log date >> /var/log/mem.log echo “Memory usage | [Use:${used}MB][Free:${free}MB]” >> /var/log/mem.log if [ $free -le 100 ] ; then sync && echo 1 > /proc/sys/vm/drop_caches sync && echo 2 > /proc/sys/vm/drop_caches sync && echo 3 > /proc/sys/vm/drop_caches echo “OK” >> /var/log/mem.log else echo “Not required” >> /var/log/mem.log


将脚本添加到crond任务,定时执行。
# echo “*/30 * * * * root /root/shTools/freemem.sh” >> /etc/crondtab

赞(0) 打赏
转载请注明出处:服务器评测 » CentOS 5 释放内存的方法
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏