sync(8) -- Linux man page

 

NAME

sync - synchronize data on disk with memory  

SYNOPSYS

sync [--help] [--version]  

DESCRIPTION

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 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.)  

GNU STANDARD OPTIONS

--help
Print a usage message on standard output and exit successfully.
--version
Print version information on standard output, then exit successfully.
--
Terminate option list.
 

ENVIRONMENT

The variables LANG, LC_ALL, LC_CTYPE, and LC_MESSAGES have the usual meaning.  

CONFORMING TO

POSIX 1003.2  

NOTES

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. Mail corrections and additions to aeb@cwi.nl. Report bugs in the program to fileutils-bugs@gnu.ai.mit.edu.  

SEE ALSO

sync(2), halt(8), reboot(8), update(8)