开发者社区> 熊哥club> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches

简介: Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches 频繁的文件访问会导致系统的Cache使用量大增 $ free -m total used free shared buffers cached Mem: 3955 3926 28 0 55 3459 -/+ buffers/cache: 411 3544 Swap: 5726 0 5726
+关注继续查看
Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches

频繁的文件访问会导致系统的Cache使用量大增

$ free -m
total used free shared buffers cached
Mem: 3955 3926 28 0 55 3459
-/+ buffers/cache: 411 3544
Swap: 5726 0 5726

 

free内存减少到几十兆,系统运行缓慢

运行sync将dirty的内容写回硬盘
$sync

通过修改proc系统的drop_caches清理free的cache
$echo 3 > /proc/sys/vm/drop_caches

drop_caches的详细文档如下:

Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free.
To free pagecache:
* echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
* echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
* echo 3 > /proc/sys/vm/drop_caches
As this is a non-destructive operation, and dirty objects are notfreeable, the user should run "sync" first in order to make sure allcached objects are freed.
This tunable was added in 2.6.16.

 

修改/etc/sysctl.conf 添加如下选项后就不会内存持续增加

vm.dirty_ratio = 1
vm.dirty_background_ratio=1
vm.dirty_writeback_centisecs=2
vm.dirty_expire_centisecs=3
vm.drop_caches=3
vm.swappiness =100
vm.vfs_cache_pressure=163
vm.overcommit_memory=2
vm.lowmem_reserve_ratio=32 32 8
kern.maxvnodes=3

 

上面的设置比较粗暴,使cache的作用基本无法发挥。需要根据机器的状况进行适当的调节寻找最佳的折衷。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
97条 Linux 常用命令总结,速速收藏!(二)
Linux在我们学习和工作中都会遇到,了解一点常用命令让你不再是Linux小白。跟我一起来学习这些常用命令吧~
0 0
新手入门linux之最常用的20条命令
玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为 Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时 去找一下man,他会帮你解决不少的问题。然而每个人玩Linux的目的都不同,所以他们常用的命令也 就差异非常大,而我主要是用Linux进行C/C++和shell程序编写的,所以常用到的命令可以就会跟一个管 理Linux系统的人有所不同。因为不想在使用是总是东查西找,所以在此总结一下,方便一下以后的查 看。不多说,下面就说说我最常用的Linux命令。
0 0
Linux常用的基础命令总结
Linux常用的基础命令总结man 查看英文命令帮助 可以看作--help 拷贝目录的命令cp -a 包含所有 ls -a 显示所有文件包括隐藏文件 -ld ls -F 过滤目录文件(给不同类型文件结尾加上不同的符号) -h显示文件的k,M,G -i显示文件的索引inode ls -l --time-style=long-iso 文件 更好的显示文件的修改时间 ls -p 查找出来的内容添加斜线。
1037 0
50个最常用的Linux命令
1. tar command examples Create a new tar archive. $ tar cvf archive_name.tar dirname/ Extract from an existing tar archive.
2880 0
常用的Linux命令
人应该活的真善美。不虚伪、不做作、直率、干脆,这是真;以同情之心待人,以恻隐之心爱人,这是善;沟通心灵和仪表,融合人类与自然,这是美。以真善美的品味做人,其乐无穷。 关机 (系统的关机、重启以及登出 ) shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours:minutes
1170 0
+关注
熊哥club
java,前端相关专家
文章
问答
文章排行榜
最热
最新
相关电子书
更多
从 Linux 系统内核层面来解决实际问题的实战经验
立即下载
ECS系统指南之Linux系统诊断
立即下载
ENGINEERING FAST INDEXES
立即下载