vm.txt: document min_free_pages as critical for correctness
[linux-2.6.git] / Documentation / sysctl / kernel.txt
1 Documentation for /proc/sys/kernel/*    kernel version 2.2.10
2         (c) 1998, 1999,  Rik van Riel <riel@nl.linux.org>
3
4 For general info and legal blurb, please look in README.
5
6 ==============================================================
7
8 This file contains documentation for the sysctl files in
9 /proc/sys/kernel/ and is valid for Linux kernel version 2.2.
10
11 The files in this directory can be used to tune and monitor
12 miscellaneous and general things in the operation of the Linux
13 kernel. Since some of the files _can_ be used to screw up your
14 system, it is advisable to read both documentation and source
15 before actually making adjustments.
16
17 Currently, these files might (depending on your configuration)
18 show up in /proc/sys/kernel:
19 - acpi_video_flags
20 - acct
21 - core_pattern
22 - core_uses_pid
23 - ctrl-alt-del
24 - dentry-state
25 - domainname
26 - hostname
27 - hotplug
28 - java-appletviewer           [ binfmt_java, obsolete ]
29 - java-interpreter            [ binfmt_java, obsolete ]
30 - kstack_depth_to_print       [ X86 only ]
31 - l2cr                        [ PPC only ]
32 - modprobe                    ==> Documentation/kmod.txt
33 - msgmax
34 - msgmnb
35 - msgmni
36 - osrelease
37 - ostype
38 - overflowgid
39 - overflowuid
40 - panic
41 - pid_max
42 - powersave-nap               [ PPC only ]
43 - printk
44 - real-root-dev               ==> Documentation/initrd.txt
45 - reboot-cmd                  [ SPARC only ]
46 - rtsig-max
47 - rtsig-nr
48 - sem
49 - sg-big-buff                 [ generic SCSI device (sg) ]
50 - shmall
51 - shmmax                      [ sysv ipc ]
52 - shmmni
53 - stop-a                      [ SPARC only ]
54 - sysrq                       ==> Documentation/sysrq.txt
55 - tainted
56 - threads-max
57 - version
58
59 ==============================================================
60
61 acpi_video_flags:
62
63 flags
64
65 See Doc*/kernel/power/video.txt, it allows mode of video boot to be
66 set during run time.
67
68 ==============================================================
69
70 acct:
71
72 highwater lowwater frequency
73
74 If BSD-style process accounting is enabled these values control
75 its behaviour. If free space on filesystem where the log lives
76 goes below <lowwater>% accounting suspends. If free space gets
77 above <highwater>% accounting resumes. <Frequency> determines
78 how often do we check the amount of free space (value is in
79 seconds). Default:
80 4 2 30
81 That is, suspend accounting if there left <= 2% free; resume it
82 if we got >=4%; consider information about amount of free space
83 valid for 30 seconds.
84
85 ==============================================================
86
87 core_pattern:
88
89 core_pattern is used to specify a core dumpfile pattern name.
90 . max length 128 characters; default value is "core"
91 . core_pattern is used as a pattern template for the output filename;
92   certain string patterns (beginning with '%') are substituted with
93   their actual values.
94 . backward compatibility with core_uses_pid:
95         If core_pattern does not include "%p" (default does not)
96         and core_uses_pid is set, then .PID will be appended to
97         the filename.
98 . corename format specifiers:
99         %<NUL>  '%' is dropped
100         %%      output one '%'
101         %p      pid
102         %u      uid
103         %g      gid
104         %s      signal number
105         %t      UNIX time of dump
106         %h      hostname
107         %e      executable filename
108         %<OTHER> both are dropped
109 . If the first character of the pattern is a '|', the kernel will treat
110   the rest of the pattern as a command to run.  The core dump will be
111   written to the standard input of that program instead of to a file.
112
113 ==============================================================
114
115 core_uses_pid:
116
117 The default coredump filename is "core".  By setting
118 core_uses_pid to 1, the coredump filename becomes core.PID.
119 If core_pattern does not include "%p" (default does not)
120 and core_uses_pid is set, then .PID will be appended to
121 the filename.
122
123 ==============================================================
124
125 ctrl-alt-del:
126
127 When the value in this file is 0, ctrl-alt-del is trapped and
128 sent to the init(1) program to handle a graceful restart.
129 When, however, the value is > 0, Linux's reaction to a Vulcan
130 Nerve Pinch (tm) will be an immediate reboot, without even
131 syncing its dirty buffers.
132
133 Note: when a program (like dosemu) has the keyboard in 'raw'
134 mode, the ctrl-alt-del is intercepted by the program before it
135 ever reaches the kernel tty layer, and it's up to the program
136 to decide what to do with it.
137
138 ==============================================================
139
140 domainname & hostname:
141
142 These files can be used to set the NIS/YP domainname and the
143 hostname of your box in exactly the same way as the commands
144 domainname and hostname, i.e.:
145 # echo "darkstar" > /proc/sys/kernel/hostname
146 # echo "mydomain" > /proc/sys/kernel/domainname
147 has the same effect as
148 # hostname "darkstar"
149 # domainname "mydomain"
150
151 Note, however, that the classic darkstar.frop.org has the
152 hostname "darkstar" and DNS (Internet Domain Name Server)
153 domainname "frop.org", not to be confused with the NIS (Network
154 Information Service) or YP (Yellow Pages) domainname. These two
155 domain names are in general different. For a detailed discussion
156 see the hostname(1) man page.
157
158 ==============================================================
159
160 hotplug:
161
162 Path for the hotplug policy agent.
163 Default value is "/sbin/hotplug".
164
165 ==============================================================
166
167 l2cr: (PPC only)
168
169 This flag controls the L2 cache of G3 processor boards. If
170 0, the cache is disabled. Enabled if nonzero.
171
172 ==============================================================
173
174 kstack_depth_to_print: (X86 only)
175
176 Controls the number of words to print when dumping the raw
177 kernel stack.
178
179 ==============================================================
180
181 osrelease, ostype & version:
182
183 # cat osrelease
184 2.1.88
185 # cat ostype
186 Linux
187 # cat version
188 #5 Wed Feb 25 21:49:24 MET 1998
189
190 The files osrelease and ostype should be clear enough. Version
191 needs a little more clarification however. The '#5' means that
192 this is the fifth kernel built from this source base and the
193 date behind it indicates the time the kernel was built.
194 The only way to tune these values is to rebuild the kernel :-)
195
196 ==============================================================
197
198 overflowgid & overflowuid:
199
200 if your architecture did not always support 32-bit UIDs (i.e. arm, i386,
201 m68k, sh, and sparc32), a fixed UID and GID will be returned to
202 applications that use the old 16-bit UID/GID system calls, if the actual
203 UID or GID would exceed 65535.
204
205 These sysctls allow you to change the value of the fixed UID and GID.
206 The default is 65534.
207
208 ==============================================================
209
210 panic:
211
212 The value in this file represents the number of seconds the
213 kernel waits before rebooting on a panic. When you use the
214 software watchdog, the recommended setting is 60.
215
216 ==============================================================
217
218 panic_on_oops:
219
220 Controls the kernel's behaviour when an oops or BUG is encountered.
221
222 0: try to continue operation
223
224 1: panic immediately.  If the `panic' sysctl is also non-zero then the
225    machine will be rebooted.
226
227 ==============================================================
228
229 pid_max:
230
231 PID allocation wrap value.  When the kernel's next PID value
232 reaches this value, it wraps back to a minimum PID value.
233 PIDs of value pid_max or larger are not allocated.
234
235 ==============================================================
236
237 powersave-nap: (PPC only)
238
239 If set, Linux-PPC will use the 'nap' mode of powersaving,
240 otherwise the 'doze' mode will be used.
241
242 ==============================================================
243
244 printk:
245
246 The four values in printk denote: console_loglevel,
247 default_message_loglevel, minimum_console_loglevel and
248 default_console_loglevel respectively.
249
250 These values influence printk() behavior when printing or
251 logging error messages. See 'man 2 syslog' for more info on
252 the different loglevels.
253
254 - console_loglevel: messages with a higher priority than
255   this will be printed to the console
256 - default_message_level: messages without an explicit priority
257   will be printed with this priority
258 - minimum_console_loglevel: minimum (highest) value to which
259   console_loglevel can be set
260 - default_console_loglevel: default value for console_loglevel
261
262 ==============================================================
263
264 printk_ratelimit:
265
266 Some warning messages are rate limited. printk_ratelimit specifies
267 the minimum length of time between these messages (in jiffies), by
268 default we allow one every 5 seconds.
269
270 A value of 0 will disable rate limiting.
271
272 ==============================================================
273
274 printk_ratelimit_burst:
275
276 While long term we enforce one message per printk_ratelimit
277 seconds, we do allow a burst of messages to pass through.
278 printk_ratelimit_burst specifies the number of messages we can
279 send before ratelimiting kicks in.
280
281 ==============================================================
282
283 reboot-cmd: (Sparc only)
284
285 ??? This seems to be a way to give an argument to the Sparc
286 ROM/Flash boot loader. Maybe to tell it what to do after
287 rebooting. ???
288
289 ==============================================================
290
291 rtsig-max & rtsig-nr:
292
293 The file rtsig-max can be used to tune the maximum number
294 of POSIX realtime (queued) signals that can be outstanding
295 in the system.
296
297 rtsig-nr shows the number of RT signals currently queued.
298
299 ==============================================================
300
301 sg-big-buff:
302
303 This file shows the size of the generic SCSI (sg) buffer.
304 You can't tune it just yet, but you could change it on
305 compile time by editing include/scsi/sg.h and changing
306 the value of SG_BIG_BUFF.
307
308 There shouldn't be any reason to change this value. If
309 you can come up with one, you probably know what you
310 are doing anyway :)
311
312 ==============================================================
313
314 shmmax: 
315
316 This value can be used to query and set the run time limit
317 on the maximum shared memory segment size that can be created.
318 Shared memory segments up to 1Gb are now supported in the 
319 kernel.  This value defaults to SHMMAX.
320
321 ==============================================================
322
323 softlockup_thresh:
324
325 This value can be used to lower the softlockup tolerance
326 threshold. The default threshold is 10s.  If a cpu is locked up
327 for 10s, the kernel complains.  Valid values are 1-60s.
328
329 ==============================================================
330
331 tainted: 
332
333 Non-zero if the kernel has been tainted.  Numeric values, which
334 can be ORed together:
335
336   1 - A module with a non-GPL license has been loaded, this
337       includes modules with no license.
338       Set by modutils >= 2.4.9 and module-init-tools.
339   2 - A module was force loaded by insmod -f.
340       Set by modutils >= 2.4.9 and module-init-tools.
341   4 - Unsafe SMP processors: SMP with CPUs not designed for SMP.
342