Linux 删除缓存需要多长时间?

Linux 删除缓存需要多长时间?

我运行以下命令从文件系统/系统内存中清除缓存文件:

# echo 3 > /proc/sys/vm/drop_caches

我想在脚本的基础上执行此操作,以便当我进行 I/O 测试来比较(比如说)两个不同二进制文件的速度时,我确保文件系统的特定状态(以及正在访问的文件是否被缓存)最大限度地减少速度测试结果中的任何差异。

我的问题是:上述命令需要多长时间才能发挥其魔力?我想知道在运行上述命令后是否需要添加某种程序暂停,以帮助更好地建立我所追求的基线。

清除效果是否立即产生?如果不是,是否可以测量任何延迟?

答案1

此操作只会删除可以立即删除的内容。因此,虽然它是即时的,但不足以满足您的目的。例如,上一个操作修改的任何内容,如果尚未刷新到磁盘,则仍在 RAM 中以供下一个操作使用。

您可能需要运行sync并等待片刻,以待磁盘活动停止,然后再放弃。

相关内容