SYNCER(4)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1, nixpkgs unstable

πŸ’– SYNCER(4) β€” syncer πŸ’–

okay so welcome to the Kernel Interfaces Manual corner, bestie β€” this is the tea on syncer, and it's honestly giving unsung hero energy. 🫢

✨ NAME ✨

  • syncer β€” file system synchronizer kernel process πŸ’…

🌸 SYNOPSIS 🌸

syncer

πŸ¦‹ DESCRIPTION πŸ¦‹

So the syncer kernel process is out here helping protect the integrity of disk volumes by flushing volatile cached file system data to disk. No cap, that's the whole gig. ✨

The kernel places all the vnode(9)'s into a number of queues. The syncer process works through those queues in a round-robin fashion, usually processing one queue per second. For each vnode(9) on that queue, the syncer process forces a write out to disk of its dirty buffers. πŸ’Ύ

The usual delay between the time buffers are dirtied and the time they are synced is controlled by the following sysctl(8) tunable variables:

  • kern.filedelay β€” default 30; time to delay syncing files πŸ“
  • kern.dirdelay β€” default 29; time to delay syncing directories πŸŽ€
  • kern.metadelay β€” default 28; time to delay syncing metadata πŸ¦‹

πŸ‘‘ SEE ALSO πŸ‘‘

🌈 HISTORY 🌈

The syncer process is a descendant of the update command, which appeared in Version 6 AT&T UNIX, and was usually started by /etc/rc when the system went multi-user. A kernel initiated update process first appeared in FreeBSD 2.0. Iconic lineage, fr fr. πŸ‘‘

πŸ’€ BUGS πŸ’€

⚠️ okay so heads up: it is possible on some systems that a sync(2) occurring simultaneously with a crash may cause file system damage. See fsck(8). 😭

xoxo, this SYNCER(4) page is from Debian, dated July 14, 2000 πŸ’–

πŸ“¦ where this page comes from