svn commit: r211244 - head/share/man/man7

Ivan Voras ivoras at
Thu Aug 12 21:21:51 UTC 2010

Author: ivoras
Date: Thu Aug 12 21:21:50 2010
New Revision: 211244

  Describe vfs.read_max and update vfs.hirunningspace documentation. While
  there, update nits.
  Considered viewed by:	jeff, phk, rwatson


Modified: head/share/man/man7/tuning.7
--- head/share/man/man7/tuning.7	Thu Aug 12 20:46:49 2010	(r211243)
+++ head/share/man/man7/tuning.7	Thu Aug 12 21:21:50 2010	(r211244)
@@ -23,7 +23,7 @@
 .\" $FreeBSD$
-.Dd January 23, 2009
+.Dd August 11, 2010
@@ -470,7 +470,7 @@ sysctl defaults to 1 (on).
 This parameter controls how directories are cached
 by the system.
 Most directories are small and use but a single fragment
-(typically 1K) in the file system and even less (typically 512 bytes) in
+(typically 2K) in the file system and even less (typically 512 bytes) in
 the buffer cache.
 However, when operating in the default mode the buffer
 cache will only cache a fixed number of directories even if you have a huge
@@ -504,17 +504,35 @@ it off.
 .Va vfs.hirunningspace
 sysctl determines how much outstanding write I/O may be queued to
-disk controllers system-wide at any given instance.
-The default is
-usually sufficient but on machines with lots of disks you may want to bump
-it up to four or five megabytes.
+disk controllers system-wide at any given time.
+It is used by the UFS file system.
+The default is self-tuned and
+usually sufficient but on machines with advanced controllers and lots
+of disks this may be tuned up to match what the controllers buffer.
+Configuring this setting to match tagged queuing capabilities of
+controllers or drives with average IO size used in production works
+best (for example: 16 MiB will use 128 tags with IO requests of 128 KiB).
 Note that setting too high a value
 (exceeding the buffer cache's write threshold) can lead to extremely
 bad clustering performance.
 Do not set this value arbitrarily high!
-higher write queueing values may add latency to reads occurring at the same
+Higher write queueing values may also add latency to reads occurring at
+the same time.
+.Va vfs.read_max
+sysctl governs VFS read-ahead and is expressed as the number of blocks
+to pre-read if the heuristics algorithm decides that the reads are
+issued sequentially.
+It is used by the UFS, ext2fs and msdosfs file systems.
+With the default UFS block size of 16 KiB, a setting of 32 will allow
+speculatively reading up to 512 KiB.
+This setting may be increased to get around disk I/O latencies, especially
+where these latencies are large such as in virtual machine emulated
+It may be tuned down in specific cases where the I/O load is such that
+read-ahead adversely affects performance or where system memory is really
 There are various other buffer-cache and VM page cache related sysctls.
 We do not recommend modifying these values.

More information about the svn-src-all mailing list