服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

在closureslinux之前仍然需要同步(8)的执行吗?

我仍然看到有人推荐使用sync; sync; sync; sleep 30; halt sync; sync; sync; sleep 30; halt 在谈论closures或重新启动Linux时sync; sync; sync; sleep 30; halt咒语。 我从一开始就一直在运行Linux,尽pipe这是BSD 4.2 / 4.3和SunOS 4天的推荐程序,但我不记得我至less在过去十年中必须这样做,在此期间我可能经历了Linux的关机/重启,可能有数千次。 我怀疑这是一个不合时宜的时代,因为即使在单用户模式下(例如/ tmp),内核也不能卸载和同步根文件系统和其他关键文件系统,因此有必要明确告知它尽可能多的数据到磁盘。 现在,在内核源代码中没有find相关的代码(通过http://lxr.linux.no和google进行挖掘),我怀疑内核是否足够聪明,即使是根文件系统也能够干净地卸载,而且文件系统足够聪明在正常shutdown / reboot / poweorff期间卸载之前有效地进行同步(2)。 只有在文件系统不能完全卸载的情况下(例如物理磁盘故障)或系统处于只强制直接重启(8)的状态时,才会将其"sync; sync; sync"冻结(例如,负载太高,无法安排关机命令)。 在卸载可移动设备之前,我也从不执行sync过程,并且从来没有遇到任何问题。 另一个例子–Xen允许从Dom0发送shutdown命令,这被认为是“干净的关机”,没有任何人必须login并键入魔法sync; sync; sync sync; sync; sync 首先sync; sync; sync 。 我是对的,还是因为几千次系统closures而感到幸运?