linux内存cached释放
来源:互联网 发布:增强现实的软件 编辑:程序博客网 时间:2024/05/29 05:57
我们用free命令查看系统内存使用情况的时候会发现:
#free -m
total used free shared buffers cachedMem: 24359 11240 13119 0 0 10706-/+ buffers/cache: 533 23826Swap: 4095 0 4095
1、total = used + free
2、cached比较大,甚至我遇见过内存剩余只有7M的情况,这个时候cached非常大,基本上接近等于total了,这个时候打开文件或者传输文件的时候可用内存很小,程序可能就会用到交换分区swap了,所以会发现机器速度变慢的情况
如何解决这个导致机器变慢的问题呢?
罪魁祸首就是内存都被cached了,free的基本没有了
所以我们应该想想如何把cached内存释放出来
重启机器肯定是可以解决,但是我们肯定是不能用这样的办法
释放方法有三种(系统默认值是0,释放之后你可以再改回0值):
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
经常使用rsync传输大量数据的朋友可能遇到过类似的情况:开始是传输大量文件过去,到后来传输的数据并不大,但就是很慢很慢,到对边的服务器上看会发现在终端输入命令都不会觉得慢,但看内存使用情况时,发现free的内存很少,几乎接近零了,我觉得可能就是内存都被cached了导致的
为什么我们要释放掉cached内存?因为我们用rsync传输大量数据的时候,linux系统将一部分文件的信息缓存在内存中,这样是可以减少频繁使用的文件的磁盘IO时间占用,当我们传完一批文件后,我们要传输另外一批文件过去,是完全不同的文件或者文件的内容发生了变化,内存中缓存的文件也不是我们需要的了,我们需要清空缓存,腾出内存用来传输下一批文件使用,这个时候我们急切的需要看到更多的内存是free状态的。
在这样的前提下,我们有必要自己手动清空缓存,腾出更多可用内存来
注意:在清空缓存前我们需要在linux系统中执行一下sync命令,将缓存中的未被写入磁盘的内容写到磁盘上
- linux内存cached释放
- linux内存cached释放
- linux内存cached释放
- Linux内存cached释放
- linux内存cached释放
- Linux内存cached释放
- linux内存cached释放
- Linux内存cached的释放
- linux释放cached
- 关于Linux cached 内存
- 细说 linux 内存之cached
- Linux系统内存的Cached Memory
- 关于Linux cached内存简析
- 关于Linux cached内存简析
- 关于Linux cached内存简析
- 关于Linux cached内存简析
- 关于Linux cached内存简析
- Linux系统内存的Cached Memory
- 工具条文本中的空白符
- 基于SSH框架的分页实现
- scsi设备驱动体系架构
- scsi块设备驱动层处理
- scsi命令的执行
- linux内存cached释放
- myeclipse新建maven项目时报错
- scsi命令的第一次转变
- scsi命令的第二次转变
- 一个有用的类,集合了建立、连接热点;获取本机ip和连接此热点的手机的ip地址等方法
- 日语练习4_厦門の旅行
- 第四步 使用shell操作数据库,导入分析并将结果导出成txt文件
- 学习Flex元数据标签
- telnet 和 nc