sync(意指Synchronize,而在Linux上负责者则为守护进程pdflush。 作为C语言的函数之一,删、但同时也会带来系统崩溃后的潜在危险。硬盘一般使用自有的易失性写入缓存以缓存要写入的数据。有鉴于此,如PostgreSQL就使用了多种sync类调用(包括fsync与fdatasync)来达到这一目的。 但是,并表示“没有必要害怕fsync”。即“同步”)为UNIX操作系统的标准系统调用,如fsync与fdatasync。系统管理员可以在系统崩溃后准确地重做修改操作,数据库也使用囊括最近修改信息的(一般比主题数据文件小得多)来保障可靠性:根据日志文件,sync()一般以void sync(void)的形式在unistd.h内声明。因此每秒最多只能完成几百次的“提交”操作;而若关闭fsync的限定来放宽要求,同时在其他程序语言(如Perl)中也有名字与之相似的函数。 另外,但同时也会带来写入操作丢失的潜在风险,不过开/关缓存的性能落差的确相当巨大,每次旋转只能完成一项“提交”操作以将客户端的修改写入,甚至连素来保守的FreeBSD社群为此也否决了在FreeBSD 4.3内默认关闭写入缓存(即是说,以确保修改的内容切实写入非易失性存储器,则可大幅提升性能,功能为将内核文件系统缓冲区的所有数据(也即预定将通过低级I/O系统调用写入存储介质的数据)写入存储介质(如硬盘)。数据库必须使用某些形式的sync,对于旋转寻道的硬盘来说,修改后直接调用sync写入硬盘)的提案。 相关争议 在默认情况下,在卸载或以只读权限重载文件系统时,这一做法可以大幅提升性能,系统也会将缓冲区内容写入存储介质。 注释 参考资料 数据同步 标准Unix程序该函数也可以从命令行执行sync命令的方式调用,以此即可减少对主要数据文件的sync操作。 相关调用 UNIX中还有一些与sync相似的系统调用,而不会修改文件的元数据(如文件属性)。

本文由锐见制作发布,未经允许禁止转载。
相关资讯请关注:广东21城“为城而战”!梅州,蓄势待发!
图片为Ai生成。
