Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 是否需要在删除缓存之前运行同步?_Performance_Caching_Linux Kernel - Fatal编程技术网

Performance 是否需要在删除缓存之前运行同步?

Performance 是否需要在删除缓存之前运行同步?,performance,caching,linux-kernel,Performance,Caching,Linux Kernel,我读过很多文档,其中说,在执行echo[1,2,3]>/proc/sys/vm/drop\u缓存之前进行“同步”是个好主意。我无法理解为什么需要它,drop_缓存是一种非破坏性操作,脏数据不会被drop_缓存删除。我还看到了echo 1>/proc/sys/vm/drop_缓存首先将脏数据提交回磁盘,然后释放缓存的行为。这可以通过/proc/meminfo“Dirty”和“Writeback”看到。写入drop\u缓存只释放干净的缓存 执行sync写回更改的数据,即将脏缓存转换为干净缓存。我通过

我读过很多文档,其中说,在执行echo[1,2,3]>/proc/sys/vm/drop\u缓存之前进行“同步”是个好主意。我无法理解为什么需要它,drop_缓存是一种非破坏性操作,脏数据不会被drop_缓存删除。我还看到了echo 1>/proc/sys/vm/drop_缓存首先将脏数据提交回磁盘,然后释放缓存的行为。这可以通过/proc/meminfo“Dirty”和“Writeback”看到。写入
drop\u缓存只释放干净的缓存


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

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

“同步”仅使脏缓存变为干净缓存。缓存仍然保留。drop_缓存不会触及脏缓存,只会丢弃干净的缓存。因此,为了释放所有内存,必须先进行同步,然后再删除缓存,以防刷新守护进程未将更改写入磁盘

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