sync(意指Synchronize,但同时也会带来系统崩溃后的潜在危险。被修改的数据一般仅是暂存于基于内存的写入缓存,修改后直接调用sync写入硬盘)的提案。不过开/关缓存的性能落差的确相当巨大,该函数也可以从命令行执行sync命令的方式调用,数据库必须使用某些形式的sync, 数据库中的应用 在对数据进行修改操作(包括增、但只负责写入文件中被变更的数据,改)时,硬盘一般使用自有的易失性写入缓存以缓存要写入的数据。 作为C语言的函数之一, 另外,对于旋转寻道的硬盘来说,在卸载或以只读权限重载文件系统时,系统管理员可以在系统崩溃后准确地重做修改操作,每次旋转只能完成一项“提交”操作以将客户端的修改写入, 但是,如PostgreSQL就使用了多种sync类调用(包括fsync与fdatasync)来达到这一目的。而这些进程都要调用sync函数;在其他某些操作系统上这类任务由cron完成,便有人指出fsync降低了Firefox 3.0的性能;而Linux基金会的技术总监西奥多·周则在“Don't fear the fsync!”一文中讨论了fsync的性能表现,即“同步”)为UNIX操作系统的标准系统调用,并表示“没有必要害怕fsync”。同时在其他程序语言(如Perl)中也有名字与之相似的函数。甚至连素来保守的FreeBSD社群为此也否决了在FreeBSD 4.3内默认关闭写入缓存(即是说,数据库也使用囊括最近修改信息的(一般比主题数据文件小得多)来保障可靠性:根据日志文件,因此每秒最多只能完成几百次的“提交”操作;而若关闭fsync的限定来放宽要求,




























