linux/Documentation/sysctl/kernel.txt
<<
>>
Prefs
   1Documentation for /proc/sys/kernel/*    kernel version 2.2.10
   2        (c) 1998, 1999,  Rik van Riel <riel@nl.linux.org>
   3        (c) 2009,        Shen Feng<shen@cn.fujitsu.com>
   4
   5For general info and legal blurb, please look in README.
   6
   7==============================================================
   8
   9This file contains documentation for the sysctl files in
  10/proc/sys/kernel/ and is valid for Linux kernel version 2.2.
  11
  12The files in this directory can be used to tune and monitor
  13miscellaneous and general things in the operation of the Linux
  14kernel. Since some of the files _can_ be used to screw up your
  15system, it is advisable to read both documentation and source
  16before actually making adjustments.
  17
  18Currently, these files might (depending on your configuration)
  19show up in /proc/sys/kernel:
  20- acpi_video_flags
  21- acct
  22- auto_msgmni
  23- core_pattern
  24- core_uses_pid
  25- ctrl-alt-del
  26- dentry-state
  27- domainname
  28- hostname
  29- hotplug
  30- java-appletviewer           [ binfmt_java, obsolete ]
  31- java-interpreter            [ binfmt_java, obsolete ]
  32- kstack_depth_to_print       [ X86 only ]
  33- l2cr                        [ PPC only ]
  34- modprobe                    ==> Documentation/debugging-modules.txt
  35- msgmax
  36- msgmnb
  37- msgmni
  38- nmi_watchdog
  39- osrelease
  40- ostype
  41- overflowgid
  42- overflowuid
  43- panic
  44- pid_max
  45- powersave-nap               [ PPC only ]
  46- panic_on_unrecovered_nmi
  47- printk
  48- randomize_va_space
  49- real-root-dev               ==> Documentation/initrd.txt
  50- reboot-cmd                  [ SPARC only ]
  51- rtsig-max
  52- rtsig-nr
  53- sem
  54- sg-big-buff                 [ generic SCSI device (sg) ]
  55- shmall
  56- shmmax                      [ sysv ipc ]
  57- shmmni
  58- stop-a                      [ SPARC only ]
  59- sysrq                       ==> Documentation/sysrq.txt
  60- tainted
  61- threads-max
  62- unknown_nmi_panic
  63- version
  64
  65==============================================================
  66
  67acpi_video_flags:
  68
  69flags
  70
  71See Doc*/kernel/power/video.txt, it allows mode of video boot to be
  72set during run time.
  73
  74==============================================================
  75
  76acct:
  77
  78highwater lowwater frequency
  79
  80If BSD-style process accounting is enabled these values control
  81its behaviour. If free space on filesystem where the log lives
  82goes below <lowwater>% accounting suspends. If free space gets
  83above <highwater>% accounting resumes. <Frequency> determines
  84how often do we check the amount of free space (value is in
  85seconds). Default:
  864 2 30
  87That is, suspend accounting if there left <= 2% free; resume it
  88if we got >=4%; consider information about amount of free space
  89valid for 30 seconds.
  90
  91==============================================================
  92
  93core_pattern:
  94
  95core_pattern is used to specify a core dumpfile pattern name.
  96. max length 128 characters; default value is "core"
  97. core_pattern is used as a pattern template for the output filename;
  98  certain string patterns (beginning with '%') are substituted with
  99  their actual values.
 100. backward compatibility with core_uses_pid:
 101        If core_pattern does not include "%p" (default does not)
 102        and core_uses_pid is set, then .PID will be appended to
 103        the filename.
 104. corename format specifiers:
 105        %<NUL>  '%' is dropped
 106        %%      output one '%'
 107        %p      pid
 108        %u      uid
 109        %g      gid
 110        %s      signal number
 111        %t      UNIX time of dump
 112        %h      hostname
 113        %e      executable filename
 114        %<OTHER> both are dropped
 115. If the first character of the pattern is a '|', the kernel will treat
 116  the rest of the pattern as a command to run.  The core dump will be
 117  written to the standard input of that program instead of to a file.
 118
 119==============================================================
 120
 121core_uses_pid:
 122
 123The default coredump filename is "core".  By setting
 124core_uses_pid to 1, the coredump filename becomes core.PID.
 125If core_pattern does not include "%p" (default does not)
 126and core_uses_pid is set, then .PID will be appended to
 127the filename.
 128
 129==============================================================
 130
 131ctrl-alt-del:
 132
 133When the value in this file is 0, ctrl-alt-del is trapped and
 134sent to the init(1) program to handle a graceful restart.
 135When, however, the value is > 0, Linux's reaction to a Vulcan
 136Nerve Pinch (tm) will be an immediate reboot, without even
 137syncing its dirty buffers.
 138
 139Note: when a program (like dosemu) has the keyboard in 'raw'
 140mode, the ctrl-alt-del is intercepted by the program before it
 141ever reaches the kernel tty layer, and it's up to the program
 142to decide what to do with it.
 143
 144==============================================================
 145
 146domainname & hostname:
 147
 148These files can be used to set the NIS/YP domainname and the
 149hostname of your box in exactly the same way as the commands
 150domainname and hostname, i.e.:
 151# echo "darkstar" > /proc/sys/kernel/hostname
 152# echo "mydomain" > /proc/sys/kernel/domainname
 153has the same effect as
 154# hostname "darkstar"
 155# domainname "mydomain"
 156
 157Note, however, that the classic darkstar.frop.org has the
 158hostname "darkstar" and DNS (Internet Domain Name Server)
 159domainname "frop.org", not to be confused with the NIS (Network
 160Information Service) or YP (Yellow Pages) domainname. These two
 161domain names are in general different. For a detailed discussion
 162see the hostname(1) man page.
 163
 164==============================================================
 165
 166hotplug:
 167
 168Path for the hotplug policy agent.
 169Default value is "/sbin/hotplug".
 170
 171==============================================================
 172
 173l2cr: (PPC only)
 174
 175This flag controls the L2 cache of G3 processor boards. If
 1760, the cache is disabled. Enabled if nonzero.
 177
 178==============================================================
 179
 180kstack_depth_to_print: (X86 only)
 181
 182Controls the number of words to print when dumping the raw
 183kernel stack.
 184
 185==============================================================
 186
 187osrelease, ostype & version:
 188
 189# cat osrelease
 1902.1.88
 191# cat ostype
 192Linux
 193# cat version
 194#5 Wed Feb 25 21:49:24 MET 1998
 195
 196The files osrelease and ostype should be clear enough. Version
 197needs a little more clarification however. The '#5' means that
 198this is the fifth kernel built from this source base and the
 199date behind it indicates the time the kernel was built.
 200The only way to tune these values is to rebuild the kernel :-)
 201
 202==============================================================
 203
 204overflowgid & overflowuid:
 205
 206if your architecture did not always support 32-bit UIDs (i.e. arm, i386,
 207m68k, sh, and sparc32), a fixed UID and GID will be returned to
 208applications that use the old 16-bit UID/GID system calls, if the actual
 209UID or GID would exceed 65535.
 210
 211These sysctls allow you to change the value of the fixed UID and GID.
 212The default is 65534.
 213
 214==============================================================
 215
 216panic:
 217
 218The value in this file represents the number of seconds the
 219kernel waits before rebooting on a panic. When you use the
 220software watchdog, the recommended setting is 60.
 221
 222==============================================================
 223
 224panic_on_oops:
 225
 226Controls the kernel's behaviour when an oops or BUG is encountered.
 227
 2280: try to continue operation
 229
 2301: panic immediately.  If the `panic' sysctl is also non-zero then the
 231   machine will be rebooted.
 232
 233==============================================================
 234
 235pid_max:
 236
 237PID allocation wrap value.  When the kernel's next PID value
 238reaches this value, it wraps back to a minimum PID value.
 239PIDs of value pid_max or larger are not allocated.
 240
 241==============================================================
 242
 243powersave-nap: (PPC only)
 244
 245If set, Linux-PPC will use the 'nap' mode of powersaving,
 246otherwise the 'doze' mode will be used.
 247
 248==============================================================
 249
 250printk:
 251
 252The four values in printk denote: console_loglevel,
 253default_message_loglevel, minimum_console_loglevel and
 254default_console_loglevel respectively.
 255
 256These values influence printk() behavior when printing or
 257logging error messages. See 'man 2 syslog' for more info on
 258the different loglevels.
 259
 260- console_loglevel: messages with a higher priority than
 261  this will be printed to the console
 262- default_message_level: messages without an explicit priority
 263  will be printed with this priority
 264- minimum_console_loglevel: minimum (highest) value to which
 265  console_loglevel can be set
 266- default_console_loglevel: default value for console_loglevel
 267
 268==============================================================
 269
 270printk_ratelimit:
 271
 272Some warning messages are rate limited. printk_ratelimit specifies
 273the minimum length of time between these messages (in jiffies), by
 274default we allow one every 5 seconds.
 275
 276A value of 0 will disable rate limiting.
 277
 278==============================================================
 279
 280printk_ratelimit_burst:
 281
 282While long term we enforce one message per printk_ratelimit
 283seconds, we do allow a burst of messages to pass through.
 284printk_ratelimit_burst specifies the number of messages we can
 285send before ratelimiting kicks in.
 286
 287==============================================================
 288
 289randomize-va-space:
 290
 291This option can be used to select the type of process address
 292space randomization that is used in the system, for architectures
 293that support this feature.
 294
 2950 - Turn the process address space randomization off by default.
 296
 2971 - Make the addresses of mmap base, stack and VDSO page randomized.
 298    This, among other things, implies that shared libraries will be
 299    loaded to random addresses. Also for PIE-linked binaries, the location
 300    of code start is randomized.
 301
 302    With heap randomization, the situation is a little bit more
 303    complicated.
 304    There a few legacy applications out there (such as some ancient
 305    versions of libc.so.5 from 1996) that assume that brk area starts
 306    just after the end of the code+bss. These applications break when
 307    start of the brk area is randomized. There are however no known
 308    non-legacy applications that would be broken this way, so for most
 309    systems it is safe to choose full randomization. However there is
 310    a CONFIG_COMPAT_BRK option for systems with ancient and/or broken
 311    binaries, that makes heap non-randomized, but keeps all other
 312    parts of process address space randomized if randomize_va_space
 313    sysctl is turned on.
 314
 315==============================================================
 316
 317reboot-cmd: (Sparc only)
 318
 319??? This seems to be a way to give an argument to the Sparc
 320ROM/Flash boot loader. Maybe to tell it what to do after
 321rebooting. ???
 322
 323==============================================================
 324
 325rtsig-max & rtsig-nr:
 326
 327The file rtsig-max can be used to tune the maximum number
 328of POSIX realtime (queued) signals that can be outstanding
 329in the system.
 330
 331rtsig-nr shows the number of RT signals currently queued.
 332
 333==============================================================
 334
 335sg-big-buff:
 336
 337This file shows the size of the generic SCSI (sg) buffer.
 338You can't tune it just yet, but you could change it on
 339compile time by editing include/scsi/sg.h and changing
 340the value of SG_BIG_BUFF.
 341
 342There shouldn't be any reason to change this value. If
 343you can come up with one, you probably know what you
 344are doing anyway :)
 345
 346==============================================================
 347
 348shmmax: 
 349
 350This value can be used to query and set the run time limit
 351on the maximum shared memory segment size that can be created.
 352Shared memory segments up to 1Gb are now supported in the 
 353kernel.  This value defaults to SHMMAX.
 354
 355==============================================================
 356
 357softlockup_thresh:
 358
 359This value can be used to lower the softlockup tolerance threshold.  The
 360default threshold is 60 seconds.  If a cpu is locked up for 60 seconds,
 361the kernel complains.  Valid values are 1-60 seconds.  Setting this
 362tunable to zero will disable the softlockup detection altogether.
 363
 364==============================================================
 365
 366tainted: 
 367
 368Non-zero if the kernel has been tainted.  Numeric values, which
 369can be ORed together:
 370
 371   1 - A module with a non-GPL license has been loaded, this
 372       includes modules with no license.
 373       Set by modutils >= 2.4.9 and module-init-tools.
 374   2 - A module was force loaded by insmod -f.
 375       Set by modutils >= 2.4.9 and module-init-tools.
 376   4 - Unsafe SMP processors: SMP with CPUs not designed for SMP.
 377   8 - A module was forcibly unloaded from the system by rmmod -f.
 378  16 - A hardware machine check error occurred on the system.
 379  32 - A bad page was discovered on the system.
 380  64 - The user has asked that the system be marked "tainted".  This
 381       could be because they are running software that directly modifies
 382       the hardware, or for other reasons.
 383 128 - The system has died.
 384 256 - The ACPI DSDT has been overridden with one supplied by the user
 385        instead of using the one provided by the hardware.
 386 512 - A kernel warning has occurred.
 3871024 - A module from drivers/staging was loaded.
 388
 389==============================================================
 390
 391auto_msgmni:
 392
 393Enables/Disables automatic recomputing of msgmni upon memory add/remove or
 394upon ipc namespace creation/removal (see the msgmni description above).
 395Echoing "1" into this file enables msgmni automatic recomputing.
 396Echoing "0" turns it off.
 397auto_msgmni default value is 1.
 398
 399==============================================================
 400
 401nmi_watchdog:
 402
 403Enables/Disables the NMI watchdog on x86 systems.  When the value is non-zero
 404the NMI watchdog is enabled and will continuously test all online cpus to
 405determine whether or not they are still functioning properly. Currently,
 406passing "nmi_watchdog=" parameter at boot time is required for this function
 407to work.
 408
 409If LAPIC NMI watchdog method is in use (nmi_watchdog=2 kernel parameter), the
 410NMI watchdog shares registers with oprofile. By disabling the NMI watchdog,
 411oprofile may have more registers to utilize.
 412
 413==============================================================
 414
 415unknown_nmi_panic:
 416
 417The value in this file affects behavior of handling NMI. When the value is
 418non-zero, unknown NMI is trapped and then panic occurs. At that time, kernel
 419debugging information is displayed on console.
 420
 421NMI switch that most IA32 servers have fires unknown NMI up, for example.
 422If a system hangs up, try pressing the NMI switch.
 423
 424==============================================================
 425
 426panic_on_unrecovered_nmi:
 427
 428The default Linux behaviour on an NMI of either memory or unknown is to continue
 429operation. For many environments such as scientific computing it is preferable
 430that the box is taken out and the error dealt with than an uncorrected
 431parity/ECC error get propogated.
 432
 433A small number of systems do generate NMI's for bizarre random reasons such as
 434power management so the default is off. That sysctl works like the existing
 435panic controls already in that directory.
 436
 437
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.