SYNC(8) Linux Programmer's Manual SYNC(8)
sync - synchronize data on disk with memory
sync [--help] [--version]
sync writes any data buffered in memory out to disk. This can include (but is not limited
to) modified superblocks, modified inodes, and delayed reads and writes. This must be
implemented by the kernel; The sync program does nothing but exercise the sync(2) system
The kernel keeps data in memory to avoid doing (relatively slow) disk reads and writes.
This improves performance, but if the computer crashes, data may be lost or the filesystem
corrupted as a result. sync ensures that everything in memory is written to disk.
sync should be called before the processor is halted in an unusual manner (e.g., before
causing a kernel panic when debugging new kernel code). In general, the processor should
be halted using the shutdown(8) or reboot(8) or halt(8) commands, which will attempt to
put the system in a quiescent state before calling sync(2). (Various implementations of
these commands exist; consult your documentation; on some systems one should not call
reboot(8) and halt(8) directly.)
--help Print a usage message on standard output and exit successfully.
Print version information on standard output, then exit successfully.
-- Terminate option list.
The variables LANG, LC_ALL, LC_CTYPE, and LC_MESSAGES have the usual meaning.
On Linux, sync is guaranteed only to schedule the dirty blocks for writing; it can actu-
ally take a short time before all the blocks are finally written. The reboot(8) and
halt(8) commands take this into account by sleeping for a few seconds after calling
This page describes sync as found in the fileutils-4.0 package; other versions may differ
sync(2), halt(8), reboot(8), update(8)
This page is part of release 3.55 of the Linux man-pages project. A description of the
project, and information about reporting bugs, can be found at
GNU 1998-11-01 SYNC(8)