Bug #295 » tuning.diff
share/man/man7/tuning.7 Sat Aug 19 14:59:58 2006 +0200 → share/man/man7/tuning.7 Mon Aug 21 17:43:03 2006 +0200 | ||
---|---|---|
.Pa /usr
|
||
partition holds the bulk of the files required to support the system and
|
||
a subdirectory within it called
|
||
.Pa /usr/local
|
||
.Pa /usr/pkg
|
||
holds the bulk of the files installed from the
|
||
.Xr ports 7
|
||
hierarchy.
|
||
If you do not use ports all that much and do not intend to keep
|
||
pkgsrc collection.
|
||
If you do not use pkgsrc all that much and do not intend to keep
|
||
system source
|
||
.Pq Pa /usr/src
|
||
on the machine, you can get away with
|
||
a 1 gigabyte
|
||
.Pa /usr
|
||
partition.
|
||
However, if you install a lot of ports
|
||
However, if you install a lot of packages
|
||
(especially window managers and Linux-emulated binaries), we recommend
|
||
at least a 2 gigabyte
|
||
.Pa /usr
|
||
... | ... | |
with
|
||
.Dq Li "tunefs -n enable /filesystem" .
|
||
(Note: in
|
||
.Fx 4.5
|
||
and later, softupdates can be turned on using the
|
||
.Dx ,
|
||
softupdates can be turned on using the
|
||
.Fl U
|
||
option to
|
||
.Xr newfs 8 ,
|
||
and
|
||
.Xr sysinstall 8
|
||
will typically enable softupdates automatically for non-root filesystems).
|
||
.Dx
|
||
installer will typically enable softupdates automatically for
|
||
non-root filesystems).
|
||
Softupdates drastically improves meta-data performance, mainly file
|
||
creation and deletion.
|
||
We recommend enabling softupdates on most filesystems; however, there
|
||
... | ... | |
the shared memory into core, making it unswappable.
|
||
.Pp
|
||
The
|
||
.Va vfs.vmiodirenable
|
||
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 filesystem 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
|
||
amount of memory.
|
||
Turning on this sysctl allows the buffer cache to use
|
||
the VM Page Cache to cache the directories.
|
||
The advantage is that all of
|
||
memory is now available for caching directories.
|
||
The disadvantage is that
|
||
the minimum in-core memory used to cache a directory is the physical page
|
||
size (typically 4K) rather than 512 bytes.
|
||
We recommend turning this option off in memory-constrained environments;
|
||
however, when on, it will substantially improve the performance of services
|
||
that manipulate a large number of files.
|
||
Such services can include web caches, large mail systems, and news systems.
|
||
Turning on this option will generally not reduce performance even with the
|
||
wasted memory but you should experiment to find out.
|
||
.Pp
|
||
The
|
||
.Va vfs.write_behind
|
||
sysctl defaults to 1 (on). This tells the filesystem to issue media
|
||
writes as full clusters are collected, which typically occurs when writing
|
||
... | ... | |
to detect dead TCP connections by intermittently delivering
|
||
.Dq keepalives
|
||
on the connection.
|
||
By default, this is enabled for all applications; by setting this
|
||
sysctl to 0, only applications that specifically request keepalives
|
||
will use them.
|
||
By default, this is disabled for all applications, only applications
|
||
that specifically request keepalives will use them.
|
||
In most environments, TCP keepalives will improve the management of
|
||
system state by expiring dead TCP connections, particularly for
|
||
systems serving dialup users who may not always terminate individual
|
||
... | ... | |
slightly delay the teardown of a connection, or slightly delay the ramp-up
|
||
of a slow-start TCP connection. While we aren't sure we believe that
|
||
the several FAQs related to packages such as SAMBA and SQUID which advise
|
||
turning off delayed acks may be refering to the slow-start issue. In
|
||
.Dx
|
||
it would be more beneficial to increase the slow-start flightsize via
|
||
the
|
||
.Va net.inet.tcp.slowstart_flightsize
|
||
sysctl rather then disable delayed acks.
|
||
turning off delayed acks may be refering to the slow-start issue.
|
||
.Pp
|
||
The
|
||
.Va net.inet.tcp.inflight_enable
|
||
... | ... | |
.Va kern.maxusers
|
||
controls the scaling of a number of static system tables, including defaults
|
||
for the maximum number of open files, sizing of network memory resources, etc.
|
||
As of
|
||
.Fx 4.5 ,
|
||
On
|
||
.Dx ,
|
||
.Va kern.maxusers
|
||
is automatically sized at boot based on the amount of memory available in
|
||
the system, and may be determined at run-time by inspecting the value of the
|
||
... | ... | |
.Va kern.maxusers
|
||
may be individually overridden at boot-time or run-time as described
|
||
elsewhere in this document.
|
||
Systems older than
|
||
.Fx 4.4
|
||
must set this value via the kernel
|
||
.Xr config 8
|
||
option
|
||
.Cd maxusers
|
||
instead.
|
||
.Pp
|
||
.Va kern.ipc.nmbclusters
|
||
may be adjusted to increase the number of network mbufs the system is
|
||
... | ... | |
option to
|
||
.Xr netstat 1
|
||
may be used to observe network cluster use.
|
||
Older versions of
|
||
.Fx
|
||
do not have this tunable and require that the
|
||
kernel
|
||
.Xr config 8
|
||
option
|
||
.Dv NMBCLUSTERS
|
||
be set instead.
|
||
.Pp
|
||
More and more programs are using the
|
||
.Xr sendfile 2
|