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 call.
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 file system 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
-- Terminate option list.
The variables LANG, LC_ALL, LC_CTYPE, and LC_MESSAGES have the usual
On Linux, sync is only guaranteed to schedule the dirty blocks for
writing; it can actually 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 sync(2).
This page describes sync as found in the fileutils-4.0 package; other
versions may differ slightly.
sync(2), halt(8), reboot(8), update(8)
This page is part of release 3.24 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.