xref: /freebsd/share/man/man4/syncer.4 (revision 0b3105a37d7adcadcb720112fed4dc4e8040be99)
1.\" Copyright (c) 2000 Sheldon Hearn <sheldonh@FreeBSD.org>
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD$
26.\"
27.Dd July 14, 2000
28.Dt SYNCER 4
29.Os
30.Sh NAME
31.Nm syncer
32.Nd file system synchronizer kernel process
33.Sh SYNOPSIS
34.Nm
35.Sh DESCRIPTION
36The
37.Nm
38kernel process helps protect the integrity of disk volumes
39by flushing volatile cached file system data to disk.
40.Pp
41The kernel places all
42.Xr vnode 9 Ns 's
43in a number of queues.
44The
45.Nm
46process works through the queues
47in a round-robin fashion,
48usually processing one queue per second.
49For each
50.Xr vnode 9
51on that queue,
52the
53.Nm
54process forces a write out to disk of its dirty buffers.
55.Pp
56The usual delay between the time buffers are dirtied
57and the time they are synced
58is controlled by the following
59.Xr sysctl 8
60tunable variables:
61.Bl -column "filedelayXXXX" "DefaultXX" "DescriptionXX"
62.It Em Variable Ta Em Default Ta Em Description
63.It Va kern.filedelay Ta 30 Ta "time to delay syncing files"
64.It Va kern.dirdelay Ta 29 Ta "time to delay syncing directories"
65.It Va kern.metadelay Ta 28 Ta "time to delay syncing metadata"
66.El
67.Sh SEE ALSO
68.Xr sync 2 ,
69.Xr fsck 8 ,
70.Xr sync 8 ,
71.Xr sysctl 8
72.Sh HISTORY
73The
74.Nm
75process is a descendant of the
76.Sq update
77command, which appeared in
78.At v6 ,
79and was usually started by
80.Pa /etc/rc
81when the system went multi-user.
82A kernel initiated
83.Sq update
84process first appeared in
85.Fx 2.0 .
86.Sh BUGS
87It is possible on some systems that a
88.Xr sync 2
89occurring simultaneously with a crash may cause
90file system damage.
91See
92.Xr fsck 8 .
93