为什么Linux 中的--sync
and--no-sync
命令df
会给出相同的输出?
--no-sync
当我第一次像这样df
运行标志时df --no-sync
,然后我运行df --sync
标志,但两者都给出相同的输出。所以我在 Google 上搜索了很多,并在很多网站上搜索,但没有找到任何好的解决方案。
为什么Linux 中的--sync
and--no-sync
命令df
会给出相同的输出?
--no-sync
当我第一次像这样df
运行标志时df --no-sync
,然后我运行df --sync
标志,但两者都给出相同的输出。所以我在 Google 上搜索了很多,并在很多网站上搜索,但没有找到任何好的解决方案。
同步意味着“将缓存的写入同步到持久存储”(参见
man sync
),如果内存中缓存了任何内容(因此尚未保存到磁盘),则使用将显示不含内存内容
--no-sync
的结果。使用将首先保存到磁盘,然后显示结果。df
sync
df
因此,using
--sync
before using--no-sync
始终是相同的。using--no-sync
before--sync
可以有所不同。sysctl是同步的文档,默认情况下,如果内存不足 1%,它会每 5 秒发生一次,否则它会发生得更快。对于桌面用户来说,它可能不会显示出差异;但在服务器上,大量数据将保存在内存中,这些系统往往也有大量内存(例如 MySQL 使用缓存)。