首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在drop_caches之前运行同步是必要的吗?

问在drop_caches之前运行同步是必要的吗?
EN

Stack Overflow用户
提问于 2013-07-06 13:55:03
回答 2查看 4.7K关注 0票数 3

我读过很多文档说,在执行echo 1,2,3 >/proc/sys/vm/drop_cache之前做一个"sync“是个好主意。我不能理解为什么需要它,drop_cache是一个非破坏性的操作,脏数据不会被drop_cache删除。我还看到了echo 1>/proc/sys/vm/drop_ cache首先将脏数据提交回磁盘,然后释放缓存的行为。这可以通过/proc/meminfo "Dirty“& "Writeback”看到。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-07 23:54:15

写入drop_caches只释放干净的缓存。

执行sync写回更改的数据,即将脏缓存转换为干净缓存。

票数 8
EN

Stack Overflow用户

发布于 2013-07-08 14:03:54

我通过一个小实验证实了这一点。

"sync“只使脏缓存清理缓存。缓存仍被保留。drop_caches不接触脏缓存,只丢弃干净的缓存。因此,为了释放所有内存,有必要在drop_caches之前先进行同步,以防刷新守护进程尚未将更改写入磁盘。

我关于这个小实验的博客-

What are exactly O_DIRECT, O_SYNC Flags, Buffers & Cached in Linux-Storage I/O?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17500134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档