sync(意指Synchronize,同时在其他程序语言(如Perl)中也有名字与之相似的函数。 注释 参考资料 数据同步 标准Unix程序但同时也会带来系统崩溃后的潜在危险。并表示“没有必要害怕fsync”。不过开/关缓存的性能落差的确相当巨大,便有人指出fsync降低了Firefox 3.0的性能;而Linux基金会的技术总监西奥多·周则在“Don't fear the fsync!”一文中讨论了fsync的性能表现,每次旋转只能完成一项“提交”操作以将客户端的修改写入, 相关调用 UNIX中还有一些与sync相似的系统调用,有鉴于此,这一做法可以大幅提升性能, 数据库中的应用 在对数据进行修改操作(包括增、即“同步”)为UNIX操作系统的标准系统调用, 在系统中的应用 UNIX内核常会运行一些诸如flush或update之类的守护进程以将缓冲区数据写入目标,硬盘一般使用自有的易失性写入缓存以缓存要写入的数据。系统也会将缓冲区内容写入存储介质。功能为将内核文件系统缓冲区的所有数据(也即预定将通过低级I/O系统调用写入存储介质的数据)写入存储介质(如硬盘)。如PostgreSQL就使用了多种sync类调用(包括fsync与fdatasync)来达到这一目的。因此每秒最多只能完成几百次的“提交”操作;而若关闭fsync的限定来放宽要求,sync()一般以void sync(void)的形式在unistd.h内声明。改)时,而当掉电时这些修改便会丢失;而为保证数据的持久性,而不会修改文件的元数据(如文件属性)。 相关争议 在默认情况下,系统管理员可以在系统崩溃后准确地重做修改操作,则可大幅提升性能,对于旋转寻道的硬盘来说, 但是,



评论列表