buffer/cache空间可以被释放

buffer/cache空间可以被释放,这个理解是正确的,但是伴随着cache清除的行为的,一般都是系统IO飙高

cache不能被回收的三种情况:


1、使用tmpfs 临时文件系统的, 可以将内存的一部分空间拿来当做文件系统使用。
使用 echo 3 > /proc/sys/vm/drop_caches 清空无效,内存无法被回收。


2、共享内存
命令:
ipcs -m列出当前的共享内存使用
ipcrm -m 删除指定id的共享内存段


3.使用mmap申请标志状态为MAP_SHARED的内存,内核也是使用的cache进行存储的。在进程对相关内存没有释放之前,这段cache也是不能被正常释放



1、 Buffer (缓冲区)是系统两端处理 速度平衡 (从长时间尺度上看)时使用的。它的引入是为了减小短期内突发I/O的影响,起到 流量整形 的作用。比如生产者——消费者问题,他们产生和消耗资源的速度大体接近,加一个buffer可以抵消掉资源刚产生/消耗时的突然变化。
2、 Cache (缓存)则是系统两端处理 速度不匹配 时的一种 折衷策略 。因为CPU和memory之间的速度差异越来越大,所以人们充分利用数据的局部性(locality)特征,通过使用存储系统分级(memory hierarchy)的策略来减小这种差异带来的影响。
3、假定以后存储器访问变得跟CPU做计算一样快,cache就可以消失,但是buffer依然存在。比如从网络上下载东西,瞬时速率可能会有较大变化,但从长期来看却是稳定的,这样就能通过引入一个buffer使得OS接收数据的速率更稳定,进一步减少对磁盘的伤害。
4、TLB(Translation Lookaside Buffer,翻译后备缓冲器)名字起错了,其实它是一个cache.





转载于:https://www.cnblogs.com/tymagic/p/f8912b3b1f480a03fefb8b6b4ff371ea.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值