Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > F

fs_async(5)

Tunable Kernel Parameters
HP-UX 11i Version 3: February 2007
» 

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index

NAME

fs_async — enables write calls to return before write operation is complete

VALUES

Failsafe

0

Default

0

Allowed values

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

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

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 the disk if a system crash or power failure occurs while writing to the disk. This sequential update process is called synchronous writing.

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

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

  • 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

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 http://docs.hp.com.

AUTHOR

fs_async was developed by HP.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.