diff options
Diffstat (limited to 'share/man/man7/tuning.7')
-rw-r--r-- | share/man/man7/tuning.7 | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7 index 0f29e42886a1..8f340ac5a495 100644 --- a/share/man/man7/tuning.7 +++ b/share/man/man7/tuning.7 @@ -35,7 +35,7 @@ later on if you add more memory to your machine. Finally, on larger systems with multiple SCSI disks (or multiple IDE disks operating on different controllers), we strongly recommend that you configure swap on each drive (up to four drives). The swap partitions on the drives should be -approximately the same size. The kernel can handle arbitrary sizes but +approximately the same size. The kernel can handle arbitrary sizes but internal data structures scale to 4 times the largest swap partition. Keeping the swap partitions near the same size will allow the kernel to optimally stripe swap space across the N disks. Don't worry about overdoing it a @@ -55,7 +55,7 @@ of a partition id). If your machine is intended to act as a mail or print server, or you are running a heavily visited web server, you should consider creating a much larger partition - perhaps a gig or more. It is very easy -to underestimate log file storage requirements. +to underestimate log file storage requirements. .Pp Sizing .Em /var/tmp @@ -64,7 +64,7 @@ the minimum we recommend. Also note that sysinstall will create a /tmp directory, but it is usually a good idea to make .Em /tmp a softlink to -.Em /var/tmp +.Em /var/tmp after the fact. Dedicating a partition for temporary file storage is important for two reasons: First, it reduces the possibility of filesystem corruption @@ -94,7 +94,7 @@ a 1 gigabyte /usr partition. However, if you install a lot of ports (especially window managers and linux-emulated binaries), we recommend at least a 2 gigabyte /usr and if you also intend to keep system source on the machine, we recommend a 3 gigabyte /usr. Do not underestimate the -amount of space you will need in this partition, it can creep up and +amount of space you will need in this partition, it can creep up and surprise you! .Pp The @@ -114,7 +114,7 @@ partitioning your system fragmentation introduced in the smaller more heavily write-loaded partitions will not bleed over into the mostly-read partitions. Additionally, keeping the write-loaded partitions closer to the edge of the disk (i.e. before the really big partitions instead of after -in the partition table) will increase I/O performance in the partitions +in the partition table) will increase I/O performance in the partitions where you need it the most. Now it is true that you might also need I/O performance in the larger partitions, but they are so large that shifting them more towards the edge of the disk will not lead to a significant @@ -129,7 +129,7 @@ and .Xr tunefs 8 parameters. Tuning .Fn newfs -requires more experience but can lead to significant improvements in +requires more experience but can lead to significant improvements in performance. There are three parameters that are relatively safe to tune: .Em blocksize , @@ -163,7 +163,7 @@ overcompensate you can wind up with a filesystem that has lots of free space remaining but cannot accommodate any more files. Using 32768, 65536, or 262144 bytes/inode is recommended. You can go higher but it will have only incremental effects on fsck recovery times. For -example, +example, .Em newfs -i 32768 ... .Pp Finally, increasing the @@ -177,7 +177,7 @@ and newfs will error out and tell you what the maximum is, then use that. .Xr tunefs 8 may be used to further tune a filesystem. This command can be run in single-user mode without having to reformat the filesystem. However, this -is possibly the most abused program in the system. Many people attempt to +is possibly the most abused program in the system. Many people attempt to increase available filesystem space by setting the min-free percentage to 0. This can lead to severe filesystem fragmentation and we do not recommend that you do this. Really the only tunefs option worthwhile here is turning on @@ -192,7 +192,7 @@ aware of: First, softupdates guarantees filesystem consistency in the case of a crash but could very easily be several seconds (even a minute!) behind updating the physical disk. If you crash you may lose more work than otherwise. Secondly, softupdates delays the freeing of filesystem -blocks. If you have a filesystem (such as the root filesystem) which is +blocks. If you have a filesystem (such as the root filesystem) which is close to full, doing a major update of it, e.g. .Em make installworld, can run it out of space and cause the update to fail. @@ -212,7 +212,7 @@ creating a burden on the system. For example, if you are running a heavily loaded web site, or a news server with lots of readers, you might want to consider turning off atime updates on your larger partitions with this mount option. Do not gratuitously turn off atime updates everywhere.. for -example, you might as well leave them turned on for mostly read-only +example, you might as well leave them turned on for mostly read-only partitions such as / and /usr (especially for / since some system utilities use the atime field for reporting). .Sh STRIPING DISKS @@ -220,7 +220,7 @@ In larger systems you can stripe partitions from several drives together to create a much larger overall partition. Striping can also improve the performance of a filesystem by splitting I/O operations across two or more disks. The -.Xr vinum 8 +.Xr vinum 8 and .Xr ccd 4 utilities may be used to create simple striped filesystems. Generally @@ -228,7 +228,7 @@ speaking, striping smaller partitions such as the root and /var/tmp, or essentially read-only partitions such as /usr is a complete waste of time. You should only stripe partitions that require serious I/O performance... typically /var, /home, or custom partitions used to hold databases and web -pages. Choosing the proper stripe size is also +pages. Choosing the proper stripe size is also important. Filesystems tend to store meta-data on power-of-2 boundaries and you usually want to reduce seeking rather than increase seeking. This means you want to use a large off-center stripe size such as 1152 sectors @@ -286,7 +286,7 @@ and sysctls are of particular interest if you are running network intensive applications. This controls the amount of send and receive buffer space allowed for any given TCP connection. The default is 16K. You can often -improve bandwidth utilization by increasing the default at the cost of +improve bandwidth utilization by increasing the default at the cost of eating up more kernel memory for each connection. We do not recommend increasing the defaults if you are serving hundreds or thousands of simultaneous connections because it is possible to quickly run the system @@ -306,7 +306,7 @@ to limit the bandwidth going to or from particular IP blocks or ports. For example, if you have a T1 you might want to limit your web traffic to 70% of the T1's bandwidth in order to leave the remainder available for mail and interactive use. Normally a heavily loaded web server -will not introduce significant latencies into other services even if +will not introduce significant latencies into other services even if the network link is maxed out, but enforcing a limit can smooth things out and lead to longer term stability. Many people also enforce artificial bandwidth limitations in order to ensure that they are not charged for @@ -326,7 +326,7 @@ turns on the window sizing extension to the TCP protocol. We do not recommend that you use this option unless you absolutely have to because many hosts on the internet can't handle the feature and may cause connections to freeze up. .Pp -We recommend that you turn on (set to 1) and leave on the +We recommend that you turn on (set to 1) and leave on the .Em net.inet.tcp.always_keepalive control. The default is usually off. This introduces a small amount of additional network bandwidth but guarantees that dead tcp connections @@ -386,7 +386,7 @@ by a megabyte or more, leaving more memory available for applications. The .Em maxusers kernel option defaults to an incredibly low value. For most modern machines, -you probably want to increase this value to 64, 128, or 256. We do not +you probably want to increase this value to 64, 128, or 256. We do not recommend going above 256 unless you need a huge number of file descriptors. Network buffers are also affected but can be controlled with a separate kernel option. Do not increase maxusers just to get more network mbufs. @@ -445,10 +445,10 @@ timebase, and even device operations. Additionally, higher-end cpus support 4MB MMU pages which the kernel uses to map the kernel itself into memory, which increases its efficiency under heavy syscall loads. .Sh IDE WRITE CACHING -.Fx 4.3 +.Fx 4.3 flirted with turning off IDE write caching. This reduced write bandwidth to IDE disks but was considered necessary due to serious data consistency -issues introduced by hard drive vendors. Basically the problem is that +issues introduced by hard drive vendors. Basically the problem is that IDE drives lie about when a write completes. With IDE write caching turned on, IDE hard drives will not only write data to disk out of order, they will sometimes delay some of the blocks indefinitely when under heavy disk @@ -462,7 +462,7 @@ sysctl variable. If IDE write caching is turned off, you can turn it back on by setting the .Em hw.ata.wc kernel variable back to 1. This must be done from the boot loader at boot -time. Attempting to do it after the kernel boots will have no effect. +time. Attempting to do it after the kernel boots will have no effect. Please see .Xr ata 4 , and @@ -496,7 +496,7 @@ improving network performance is to make sure you are using switches instead of hubs, especially these days where switches are almost as cheap. Hubs have severe problems under heavy loads due to collision backoff and one bad host can severely degrade the entire LAN. Second, optimize the network path -as much as possible. For example, in +as much as possible. For example, in .Xr firewall 7 we describe a firewall protecting internal hosts with a topology where the externally visible hosts are not routed through it. Use 100BaseT rather @@ -535,7 +535,7 @@ The .Nm manual page was originally written by .An Matthew Dillon -and first appeared +and first appeared in .Fx 4.3 , May 2001. |