linux 内存清理cached,Linux cached内存释放

查看系统内存使用情况

使用 free 命令,可以查看内存使用情况; free -s 2; 可以两秒刷新一次查看。

b2903b55110558c52795ee7fbc76cab9.png

可以看到 cached 几乎占用了所有的内存。

释放 cached 内存

释放方法有三种, 需要 root 权限。

sync # 将缓存中的文件写入磁盘,可选

echo 1 > /proc/sys/vm/drop_caches #To free pagecache

echo 2 > /proc/sys/vm/drop_caches #To free dentries and inodes

echo 3 > /proc/sys/vm/drop_caches #To free pagecache, dentries and inodes

一般使用第一条命令就足够了。执行之后可以发现 cached 几乎被释放,内存又回来了。如果以后你发现内存不够用,可以再执行一次这个命令。

补充:free -g 命令可以以 G 为单位查看内存使用情况。

576c8f460caf493467edc95a3614ebbb.png

还远系统默认配置,可以使用以下命令:

echo 0 > /proc/sys/vm/drop_caches

Linux cached机制

buffers与cached都是内存操作,用来保存系统曾经打开过的文件以及文件属性信息,这样当操作系统需要读取某些文件时,会优先从buffers与cached内存区查找,然后才从磁盘读取,通过缓存,能够大大提高了操作系统的性能。

buffers:缓存块设备,只记录文件系统的元数据(metadata)以及 tracking in-flight pages

cached:缓存文件。存放目录,文件属性以及权限等。

Cache 分为 Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。

当有大量的日志产生,或者大量的文件IO时,可能会导致cache 的急剧增大,虽然Linux会自动维护Cache, 但是如果我们很需要内存,就要手动释放Cache了。

一般来说,Cache内存占用过大不会怎么拖慢应用速度的,当应用需要很多内存时,Linux系统会收回Cache的内存,为应用腾出空间的。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值