Date: Thu, 12 Aug 2010 21:21:50 +0000 (UTC) From: Ivan Voras <ivoras@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r211244 - head/share/man/man7 Message-ID: <201008122121.o7CLLoUO098263@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ivoras Date: Thu Aug 12 21:21:50 2010 New Revision: 211244 URL: http://svn.freebsd.org/changeset/base/211244 Log: 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 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 .Dt TUNING 7 .Os .Sh NAME @@ -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. The .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! -Also, -higher write queueing values may add latency to reads occurring at the same -time. +Higher write queueing values may also add latency to reads occurring at +the same time. +.Pp +The +.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 +environments. +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 +low. .Pp There are various other buffer-cache and VM page cache related sysctls. We do not recommend modifying these values.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201008122121.o7CLLoUO098263>