syncer —
file
system synchronizer kernel process
The
syncer kernel process helps protect the
integrity of disk volumes by flushing volatile cached file system data to
disk.
The kernel places all
vnode(9)'s in a number of
queues. The
syncer process works through the
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:
Variable |
Default |
Description |
kern.filedelay |
30 |
time to delay syncing files |
kern.dirdelay |
29 |
time to delay syncing directories |
kern.metadelay |
28 |
time to delay syncing metadata |
sync(2),
fsck(8),
sync(8),
sysctl(8)
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.
It is possible on some systems that a
sync(2)
occurring simultaneously with a crash may cause file system damage. See
fsck(8).