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/crondtabLinux Shell learning -- bash里自带的浮点计算器Ubuntu下Eclipse搭建ARM开发环境相关资讯 CentOS教程
- CentOS上使用Dropbox (02/07/2013 09:11:47)
- CentOS 网络设置修改 (02/04/2013 21:28:42)
- CentOS如何安装whois命令 (01/20/2013 14:33:29)
| - CentOS 下修改/dev/shm 大小解决 (02/04/2013 21:30:15)
- CentOS 注销在线用户, Linux 注销 (02/04/2013 21:24:06)
- CentOS安装完重启后不能进入终端 (01/02/2013 16:04:02)
|
本文评论 查看全部评论 (0)