Ubuntu下如何清理内存
2012-11-30 17:00
162 查看
ubuntu的图形界面用的是gnome,我发现ubunut用gnome老是死,如果工作八个小时,要死二,三次搞得我很郁闷。家里的centos用的也是gnome,就不会死,并且家里电脑内存还小。
root@ubuntu:/home/zhangying# free -m
total used free shared buffers cached
Mem: 3449 2123 1325 0 576 777
-/+ buffers/cache: 769 2680
Swap: 254 0 254
被buffers,cached等占去的内存,释放的很慢,导致可用内存不够用。公司电脑的内存可是3.5G啊,这都不够它占的,真是无语。
解决方法:
1,vim free.sh建个脚本
查看复制打印?
free -m |grep -i mem |awk '{if($4 < 300){ printf("3") > "/proc/sys/vm/drop_caches"}}';
printf("3") > 可改为echo 3 >
简单解释一下,查看一下内存使用情况,找到内存所在行。判断可用内存大小,如果小于300M,就释放内存。drop_caches文件中就一个0,这里为什么要写入一个3呢?官方解释如下:
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.
2,加到crontab中去
crontab 对守护进程负责,守护进程按照crontab内容周期性的做指定操作
sudo su
crontab -e
*/05 * * * * /home/zhangying/free.sh
*/01 * * * * /home/china/webroot/free.sh
注意:
1,crontab要以root的权限去执行,普通用户是没有drop_caches写的权限的。
2,根据系统的不同,*/05 * * * * /home/zhangying/free.sh,每隔5分钟执行一次,有的写法是*/5 * * * * /home/zhangying/free.sh,这种方式在ubuntu10.10下,我试了不行。
#这里注意,直接打开etc下的crontab修改就可以,格式按照文件中给出的样式就行
2. Linux的内存分配方式
大家都知道,Linux服务器为了提高效率,会提前申请内存,即使这些内存没有被具体应用使用,Linux也会提前申请这些内存,然后利用这些内存做缓存用,即将刚打开的文件系统存入cache中,这样对应的服务器free值会越来越少,buffers和cached会越来越大,因此给大家表象就是内存越来越少了,大家就紧张了;其实,大家完全不用紧张,Linux服务器在发现内存不足时,会自动清理cached区域,释放内存,然后继续增大cache,free继续减少。因此,那样手动降低内存使用率的方法,其实就是图一时之快,呵呵。
root@ubuntu:/home/zhangying# free -m
total used free shared buffers cached
Mem: 3449 2123 1325 0 576 777
-/+ buffers/cache: 769 2680
Swap: 254 0 254
被buffers,cached等占去的内存,释放的很慢,导致可用内存不够用。公司电脑的内存可是3.5G啊,这都不够它占的,真是无语。
解决方法:
1,vim free.sh建个脚本
查看复制打印?
free -m |grep -i mem |awk '{if($4 < 300){ printf("3") > "/proc/sys/vm/drop_caches"}}';
printf("3") > 可改为echo 3 >
简单解释一下,查看一下内存使用情况,找到内存所在行。判断可用内存大小,如果小于300M,就释放内存。drop_caches文件中就一个0,这里为什么要写入一个3呢?官方解释如下:
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.
2,加到crontab中去
crontab 对守护进程负责,守护进程按照crontab内容周期性的做指定操作
sudo su
crontab -e
*/05 * * * * /home/zhangying/free.sh
*/01 * * * * /home/china/webroot/free.sh
注意:
1,crontab要以root的权限去执行,普通用户是没有drop_caches写的权限的。
2,根据系统的不同,*/05 * * * * /home/zhangying/free.sh,每隔5分钟执行一次,有的写法是*/5 * * * * /home/zhangying/free.sh,这种方式在ubuntu10.10下,我试了不行。
#这里注意,直接打开etc下的crontab修改就可以,格式按照文件中给出的样式就行
2. Linux的内存分配方式
大家都知道,Linux服务器为了提高效率,会提前申请内存,即使这些内存没有被具体应用使用,Linux也会提前申请这些内存,然后利用这些内存做缓存用,即将刚打开的文件系统存入cache中,这样对应的服务器free值会越来越少,buffers和cached会越来越大,因此给大家表象就是内存越来越少了,大家就紧张了;其实,大家完全不用紧张,Linux服务器在发现内存不足时,会自动清理cached区域,释放内存,然后继续增大cache,free继续减少。因此,那样手动降低内存使用率的方法,其实就是图一时之快,呵呵。
相关文章推荐
- ubuntu更新提示内存不足(清理boot)
- ubuntu 16.04 清理内存空间的方法总结
- ubuntu下如何清理垃圾
- Centos下查看cpu、磁盘、内存使用情况以及如何清理内存
- Ubuntu磁盘空间不足如何清理boot分区
- 如何清理释放 Android 手机内存空间
- ubuntu 手动释放缓存 (清理内存cache)
- 如何给Ubuntu系统清理垃圾
- Ubuntu_ask_如何清理掉电影播放机的浏览痕迹
- Ubuntu中如何清理系统垃圾
- 如何给Ubuntu系统清理垃圾
- Ubuntu如何清理系统垃圾
- 如何清理Ubuntu系统中的无用软件包
- Ubuntu清理内存办法
- 32位ubuntu物理地址扩展(PAE)分页机制及如何开启PAE支持4G以上内存(有时grub里面会让你选择)
- 如何清理cache,释放内存.
- [置顶] 如何有效清理Mac上的内存
- Centos下查看cpu、磁盘、内存使用情况以及如何清理内存
- ubuntu 手动释放缓存 (清理内存cache)
- Ubuntu如何清理系统垃圾