diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-06-13 16:29:25 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-06-13 16:29:25 +0000 |
commit | db7d4daea91e105e3859cf461d7e53b9b77454b2 (patch) | |
tree | 9bb65b95440af09e8aca63abe56970dd3360cc57 /Documentation/sysctl | |
parent | 9c1c01ead627bdda9211c9abd5b758d6c687d8ac (diff) |
Merge with Linux 2.2.8.
Diffstat (limited to 'Documentation/sysctl')
-rw-r--r-- | Documentation/sysctl/README | 10 | ||||
-rw-r--r-- | Documentation/sysctl/fs.txt | 16 | ||||
-rw-r--r-- | Documentation/sysctl/kernel.txt | 26 | ||||
-rw-r--r-- | Documentation/sysctl/sunrpc.txt | 20 | ||||
-rw-r--r-- | Documentation/sysctl/vm.txt | 149 |
5 files changed, 101 insertions, 120 deletions
diff --git a/Documentation/sysctl/README b/Documentation/sysctl/README index ba53359ff..cf062682a 100644 --- a/Documentation/sysctl/README +++ b/Documentation/sysctl/README @@ -1,5 +1,5 @@ -Documentation for /proc/sys/ kernel version 2.1.128 - (c) 1998, Rik van Riel <H.H.vanRiel@phys.uu.nl> +Documentation for /proc/sys/ kernel version 2.2.5 + (c) 1998, 1999, Rik van Riel <riel@nl.linux.org> 'Why', I hear you ask, 'would anyone even _want_ documentation for them sysctl files? If anybody really needs it, it's all in @@ -12,9 +12,6 @@ have the time or knowledge to read the source code. Furthermore, the programmers who built sysctl have built it to be actually used, not just for the fun of programming it :-) -If you prefer HTML, feel free to visit the Linux-MM homepage -<http://humbolt.geo.uu.nl/Linux-MM/>... - ============================================================== Legal blurb: @@ -34,7 +31,7 @@ it. Not only to have a great laugh, but also to make sure that you're the last RTFMing person to screw up. In short, e-mail your suggestions, corrections and / or horror -stories to: <H.H.vanRiel@phys.uu.nl> +stories to: <riel@nl.linux.org> Rik van Riel. @@ -68,6 +65,7 @@ kernel/ global kernel info / tuning net/ networking stuff, for documentation look in: <linux/Documentation/networking/> proc/ <empty> +sunrpc/ SUN Remote Procedure Call (NFS) vm/ memory management tuning buffer and cache management diff --git a/Documentation/sysctl/fs.txt b/Documentation/sysctl/fs.txt index 425e23f73..b88d5ed5c 100644 --- a/Documentation/sysctl/fs.txt +++ b/Documentation/sysctl/fs.txt @@ -1,12 +1,12 @@ -Documentation for /proc/sys/fs/* kernel version 2.1.128 - (c) 1998, Rik van Riel <H.H.vanRiel@phys.uu.nl> +Documentation for /proc/sys/fs/* kernel version 2.2.5 + (c) 1998, 1999, Rik van Riel <riel@nl.linux.org> For general info and legal blurb, please look in README. ============================================================== This file contains documentation for the sysctl files in -/proc/sys/fs/ and is valid for Linux kernel version 2.1. +/proc/sys/fs/ and is valid for Linux kernel version 2.2. The files in this directory can be used to tune and monitor miscellaneous and general things in the operation of the Linux @@ -23,6 +23,8 @@ Currently, these files are in /proc/sys/fs: - inode-max - inode-nr - inode-state +- super-max +- super-nr Documentation for the files in /proc/sys/fs/binfmt_misc is in Documentation/binfmt_misc.txt. @@ -113,4 +115,12 @@ preshrink is nonzero when the nr_inodes > inode-max and the system needs to prune the inode list instead of allocating more. +============================================================== + +super-max & super-nr: +These numbers control the maximum number of superblocks, and +thus the maximum number of mounted filesystems the kernel +can have. You only need to increase super-max if you need to +mount more filesystems than the current value in super-max +allows you to. diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt index 5c9e0eda4..8f65d6037 100644 --- a/Documentation/sysctl/kernel.txt +++ b/Documentation/sysctl/kernel.txt @@ -1,12 +1,12 @@ -Documentation for /proc/sys/kernel/* kernel version 2.1.128 - (c) 1998, Rik van Riel <H.H.vanRiel@phys.uu.nl> +Documentation for /proc/sys/kernel/* kernel version 2.2.5 + (c) 1998, 1999, Rik van Riel <riel@nl.linux.org> For general info and legal blurb, please look in README. ============================================================== This file contains documentation for the sysctl files in -/proc/sys/kernel/ and is valid for Linux kernel version 2.1. +/proc/sys/kernel/ and is valid for Linux kernel version 2.2. The files in this directory can be used to tune and monitor miscellaneous and general things in the operation of the Linux @@ -24,6 +24,7 @@ show up in /proc/sys/kernel: - htab-reclaim [ PPC only ] - java-appletviewer [ binfmt_java, obsolete ] - java-interpreter [ binfmt_java, obsolete ] +- l2cr [ PPC only ] - modprobe ==> Documentation/kmod.txt - osrelease - ostype @@ -32,6 +33,8 @@ show up in /proc/sys/kernel: - printk - real-root-dev ==> Documentation/initrd.txt - reboot-cmd [ SPARC only ] +- rtsig-nr +- rtsig-max - sg-big-buff [ generic SCSI device (sg) ] - shmmax [ sysv ipc ] - version @@ -90,6 +93,13 @@ each time the system hits the idle loop. ============================================================== +l2cr: (PPC only) + +This flag controls the L2 cache of G3 processor boards. If +0, the cache is disabled. Enabled if nonzero. + +============================================================== + osrelease, ostype & version: # cat osrelease @@ -155,6 +165,16 @@ rebooting. ??? ============================================================== +rtsig-max & rtsig-nr: + +The file rtsig-max can be used to tune the maximum number +of POSIX realtime (queued) signals that can be outstanding +in the system. + +Rtsig-nr shows the number of RT signals currently queued. + +============================================================== + sg-big-buff: This file shows the size of the generic SCSI (sg) buffer. diff --git a/Documentation/sysctl/sunrpc.txt b/Documentation/sysctl/sunrpc.txt new file mode 100644 index 000000000..4a52862c5 --- /dev/null +++ b/Documentation/sysctl/sunrpc.txt @@ -0,0 +1,20 @@ +Documentation for /proc/sys/sunrpc/* kernel version 2.2.5 + (c) 1998, 1999, Rik van Riel <riel@nl.linux.org> + +For general info and legal blurb, please look in README. + +============================================================== + +This file contains the documentation for the sysctl files in +/proc/sys/sunrpc and is valid for Linux kernel version 2.2. + +The files in this directory can be used to (re)set the debug +flags of the SUN Remote Procedure Call (RPC) subsystem in +the Linux kernel. This stuff is used for NFS, KNFSD and +maybe a few other things as well. + +The files in there are used to control the debugging flags: +rpc_debug, nfs_debug, nfsd_debug and nlm_debug. + +These flags are for kernel hackers only. You should read the +source code in net/sunrpc/ for more information. diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt index 359478216..470c001d3 100644 --- a/Documentation/sysctl/vm.txt +++ b/Documentation/sysctl/vm.txt @@ -1,27 +1,30 @@ -Documentation for /proc/sys/vm/* kernel version 2.1.128 - (c) 1998, Rik van Riel <H.H.vanRiel@phys.uu.nl> +Documentation for /proc/sys/vm/* kernel version 2.2.5 + (c) 1998, 1999, Rik van Riel <riel@nl.linux.org> For general info and legal blurb, please look in README. ============================================================== This file contains the documentation for the sysctl files in -/proc/sys/vm and is valid for Linux kernel version 2.1. +/proc/sys/vm and is valid for Linux kernel version 2.2. The files in this directory can be used to tune the operation of the virtual memory (VM) subsystem of the Linux kernel, and one of the files (bdflush) also has a little influence on disk usage. +Default values and initialization routines for most of these +files can be found in mm/swap.c. + Currently, these files are in /proc/sys/vm: - bdflush - buffermem - freepages - kswapd - overcommit_memory +- page-cluster - pagecache - pagetable_cache -- swapctl ============================================================== @@ -100,12 +103,8 @@ as a percentage of total system memory. The values are: min_percent -- this is the minimum percentage of memory that should be spent on buffer memory -borrow_percent -- when Linux is short on memory, and the - buffer cache uses more memory than this, - the MM subsystem will prune the buffercache - more heavily than other memory -max_percent -- this is the maximum amount of memory that - can be used for buffer memory +borrow_percent -- UNUSED +max_percent -- UNUSED ============================================================== freepages: @@ -162,40 +161,28 @@ swap_cluster This is the number of pages kswapd writes in overcommit_memory: -This file contains only one value. The following algorithm -is used to decide if there's enough memory. If the value -of overcommit_memory > 0, then there's always enough -memory :-). This is a useful feature, since programs often -malloc() huge amounts of memory 'just in case', while they -only use a small part of it. Leaving this value at 0 will -lead to the failure of such a huge malloc(), when in fact -the system has enough memory for the program to run... -On the other hand, enabling this feature can cause you to -run out of memory and thrash the system to death, so large -and/or important servers will want to set this value to 0. - -From linux/mm/mmap.c: --------------------------------------------------------------- -static inline int vm_enough_memory(long pages) -{ - /* This stupid algorithm decides whether we have enough memory: - * while simple, it should work in most obvious cases. It's - * easily fooled, but this should catch most mistakes. - */ - long freepages; - - /* Sometimes we want to use more memory than we have. */ - if (sysctl_overcommit_memory) - return 1; - - freepages = buffermem >> PAGE_SHIFT; - freepages += page_cache_size; - freepages >>= 1; - freepages += nr_free_pages; - freepages += nr_swap_pages; - freepages -= num_physpages >> 4; - return freepages > pages; -} +This value contains a flag that enables memory overcommitment. +When this flag is 0, the kernel checks before each malloc() +to see if there's enough memory left. If the flag is nonzero, +the system pretends there's always enough memory. + +This feature can be very useful because there are a lot of +programs that malloc() huge amounts of memory "just-in-case" +and don't much of it. + +Look at: mm/mmap.c::vm_enough_memory() for more information. + +============================================================== + +page-cluster: + +The Linux VM subsystem avoids excessive disk seeks by reading +multiple pages on a page fault. The number of pages it reads +is dependent on the amount of memory in your machine. + +The number of pages the kernel reads in at once is equal to +2 ^ page-cluster. Values above 2 ^ 5 don't make much sense +for swap because we only cluster swap data in 32-page groups. ============================================================== @@ -203,12 +190,17 @@ pagecache: This file does exactly the same as buffermem, only this file controls the struct page_cache, and thus controls -the amount of memory allowed for memory mapping and generic -caching of files. +the amount of memory used for the page cache. + +In 2.2, the page cache is used for 3 main purposes: +- caching read() data from files +- caching mmap()ed data and executable files +- swap cache -You don't want the minimum level to be too low, otherwise -your system might thrash when memory is tight or fragmentation -is high... +When your system is both deep in swap and high on cache, +it probably means that a lot of the swaped data is being +cached, making for more efficient swapping than possible +with the 2.0 kernel. ============================================================== @@ -227,62 +219,3 @@ For large systems, the settings are probably OK. For normal systems they won't hurt a bit. For small systems (<16MB ram) it might be advantageous to set both values to 0. -============================================================== - -swapctl: - -This file contains no less than 8 variables. -All of these values are used by kswapd, and the usage can be -found in linux/mm/vmscan.c. - -From linux/include/linux/swapctl.h: --------------------------------------------------------------- -typedef struct swap_control_v5 -{ - unsigned int sc_max_page_age; - unsigned int sc_page_advance; - unsigned int sc_page_decline; - unsigned int sc_page_initial_age; - unsigned int sc_age_cluster_fract; - unsigned int sc_age_cluster_min; - unsigned int sc_pageout_weight; - unsigned int sc_bufferout_weight; -} swap_control_v5; --------------------------------------------------------------- - -The first four variables are used to keep track of Linux's -page aging. Page aging is a bookkeeping method to keep track -of which pages of memory are used often, and which pages can -be swapped out without consequences. - -When a page is swapped in, it starts at sc_page_initial_age -(default 3) and when the page is scanned by kswapd, its age -is adjusted according to the following scheme: -- if the page was used since the last time we scanned, its - age is increased by sc_page_advance (default 3) up to a maximum - of sc_max_page_age (default 20) -- else (it wasn't used) its age is decreased by sc_page_decline - (default 1) -And when a page reaches age 0, it's ready to be swapped out. - -The next four variables can be used to control kswapd's -aggressiveness in swapping out pages. - -sc_age_cluster_fract is used to calculate how many pages from -a process are to be scanned by kswapd. The formula used is -sc_age_cluster_fract/1024 * RSS, so if you want kswapd to scan -the whole process, sc_age_cluster_fract needs to have a value -of 1024. The minimum number of pages kswapd will scan is -represented by sc_age_cluster_min, this is done so kswapd will -also scan small processes. - -The values of sc_pageout_weight and sc_bufferout_weight are -used to control how many tries kswapd will make in order -to swapout one page / buffer. These values can be used to -fine-tune the ratio between user pages and buffer/cache memory. -When you find that your Linux system is swapping out too many -process pages in order to satisfy buffer memory demands, you -might want to either increase sc_bufferout_weight, or decrease -the value of sc_pageout_weight. - - |