Tunable Kernel Parameters
NAME [Toc] [Back]
fs_async - enables write calls to return before write operation is
VALUES [Toc] [Back]
Default [Toc] [Back]
Allowed values [Toc] [Back]
The allowed values are:
0 (use synchronous disk writes only), or
1 (allow asynchronous disk writes).
Specify a positive integer value, 0 or 1.
DESCRIPTION [Toc] [Back]
fs_async specifies whether or not asynchronous writing of file system
data structures to disk is allowed.
Synchronous writes to disk make it easier to restore file system
integrity if a system crash occurs while file system data structures
are being updated on the file system.
If asynchronous writes are selected, HP-UX file system semantics for
NFS cluster environments are preserved. In addition, files opened
using open() with the 0_SYNC flag (synchronous writing) will continue
to be written synchronously when the asynchronous-writes feature has
been configured into the kernel.
Asynchronous writes to disk can improve file system performance
significantly. However, asynchronous writes can leave file system
data structures in an inconsistent state in the event of a system
crash. For more information about when to select synchronous or
asynchronous writing, see the following tutorial.
Restrictions on Changing [Toc] [Back]
This tunable is static. Any changes to the value of this tunable will
require system reboot before taking effect.
Tutorial: What are Synchronous and Asynchronous Writes?
If a file is open for writing and data is being written to a file, the
data is accumulated in buffers and periodically written to disk. When
an end-of-file condition occurs and the file is to be closed, any
remaining buffer contents are written to the disk, the inode is
updated with file size and block pointer information, and the file
system's list of free disk blocks is updated. To ensure maximum
protection of file system integrity, these operations are handled in a
specific sequence that minimizes the risk of file system corruption on
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: Sep 2004
Tunable Kernel Parameters
the disk if a system crash or power failure occurs while writing to
the disk. This sequential update process is called synchronous
HP-UX file systems store free space lists, blocks, inodes, and other
file components in random and widely separate locations on disk
devices. This means that writing file information blocks in a
particular sequence requires additional time to move to the desired
location on the disk before performing the write operation. If a
power failure or system crash occurs during this sequence, one or more
blocks may not be properly updated, leaving a potentially inconsistent
file system. The fsck command is used to repair such inconsistencies.
Asynchronous writing as it relates to the fs_async kernel parameter
allows the system to update file system information on the disk in a
more convenient (hence faster) sequence rather than in a more secure
(safer but slower) sequence, thus reducing search and move delays
between writes. However, if a system crash occurs while these
operations are being performed, the risk of an inconsistent file
system that cannot be automatically repaired by fsck is significantly
greater than with synchronous writes.
Consequences of a Crash [Toc] [Back]
If only synchronous writing is used, all updates to directories, file
inodes, free space lists, and so on are handled in a sequence that is
known to fsck. If a crash occurs while updating any disk block in the
sequence, fsck can readily determine where the crash occurred and
repair the missing update information, probably without assistance
from the system administrator.
If fs_async is set to allow asynchronous writes and a crash occurs,
fsck does not know what sequence was used, and thus will probably
require interactive assistance from the administrator while fixing
inconsistent file system information, repairing directory and inode
entries, and so on.
Why Allow Asynchronous Writes?
Waiting for synchronous writing and updating of disk blocks when
closing files after writing to them degrades the performance of
programs and applications that require frequent file and directory
write and close operations. Allowing asynchronous writing
significantly reduces those delays, producing a corresponding
improvement in performance. However, when applications are CPU
intensive with relatively little disk I/O, performance improvements
are much lower.
When Should I Use Asynchronous Writes?
Asynchronous writing is advisable for improving system performance if:
+ Risk of power failure is low (very dependable power source
and/or uninterruptible power sources).
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: Sep 2004
Tunable Kernel Parameters
+ Precautions have been taken to enhance data security
(sophisticated file system backup or redundancy strategies),
or potential loss of data due to a system crash is less
important than system performance.
+ User applications require frequent opening, writing, and
closing of disk files and directories.
+ Elimination of synchronous writing would improve system
performance sufficiently to offset any associated risks.
To enable asynchronous writing, set the fs_async kernel parameter to 1
instead of the default value of 0.
WARNINGS [Toc] [Back]
All HP-UX kernel tunable parameters are release specific. This
parameter may be removed or have its meaning changed in future
releases of HP-UX.
Installation of optional kernel software, from HP or other vendors,
may cause changes to tunable parameter values. After installation,
some tunable parameters may no longer be at the default or recommended
values. For information about the effects of installation on tunable
values, consult the documentation for the kernel software being
installed. For information about optional kernel software that was
factory installed on your system, see HP-UX Release Notes at
AUTHOR [Toc] [Back]
fs_async was developed by HP.
SEE ALSO [Toc] [Back]
kctune(1M), sam(1M), gettune(2), settune(2) fsck(1M), open(2).
Hewlett-Packard Company - 3 - HP-UX 11i Version 2: Sep 2004 [ Back ]