相关疑难解决方法(0)

在关闭 linux 之前还需要执行 sync(8) 吗?

我仍然看到人们sync; sync; sync; sleep 30; halt在谈论关闭或重新启动 Linux 时建议使用咒语。

我从 Linux 开始就一直在运行,虽然这是 BSD 4.2/4.3 和 SunOS 4 天的推荐程序,但我不记得至少在过去的十年里我必须这样做,在此期间我可能经历了 Linux 的关闭/重启可能数千次。

我怀疑这是一个时代错误,因为内核无法卸载和同步根文件系统和其他关键文件系统,即使在单用户模式下(例如 /tmp),因此有必要明确告诉它刷新尽可能多的数据到磁盘。

这些天,还没有在内核源代码中找到相关代码(通过http://lxr.linux.no和 google挖掘),我怀疑内核足够聪明,甚至可以干净地卸载根文件系统,文件系统也足够聪明在正常shutdown/ reboot/期间卸载自身之前有效地执行同步(2)poweorff

"sync; sync; sync"其中的文件系统不会卸载干净(如物理磁盘故障)或系统处于这样的状态,只有直接强迫重新启动(8)将它弄出来的冷冻(如负载过只在极端的情况下有必要高以让它安排关闭命令)。

sync在卸载可移动设备之前,我也从未执行过该程序,也从未遇到过问题。

另一个例子 - Xen 允许 DomUshutdown从 Dom0发送命令,这被认为是“干净的关闭”,无需任何人先登录并输入魔法sync; sync; sync

我是对的还是我幸运地关闭了数千次系统?

filesystems synchronization

19
推荐指数
3
解决办法
2万
查看次数

标签 统计

filesystems ×1

synchronization ×1