at v3.16-rc6 852 lines 31 kB view raw
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 21- acct 22- acpi_video_flags 23- auto_msgmni 24- bootloader_type [ X86 only ] 25- bootloader_version [ X86 only ] 26- callhome [ S390 only ] 27- cap_last_cap 28- core_pattern 29- core_pipe_limit 30- core_uses_pid 31- ctrl-alt-del 32- dmesg_restrict 33- domainname 34- hostname 35- hotplug 36- hung_task_panic 37- hung_task_check_count 38- hung_task_timeout_secs 39- hung_task_warnings 40- kexec_load_disabled 41- kptr_restrict 42- kstack_depth_to_print [ X86 only ] 43- l2cr [ PPC only ] 44- modprobe ==> Documentation/debugging-modules.txt 45- modules_disabled 46- msg_next_id [ sysv ipc ] 47- msgmax 48- msgmnb 49- msgmni 50- nmi_watchdog 51- osrelease 52- ostype 53- overflowgid 54- overflowuid 55- panic 56- panic_on_oops 57- panic_on_unrecovered_nmi 58- panic_on_stackoverflow 59- pid_max 60- powersave-nap [ PPC only ] 61- printk 62- printk_delay 63- printk_ratelimit 64- printk_ratelimit_burst 65- randomize_va_space 66- real-root-dev ==> Documentation/initrd.txt 67- reboot-cmd [ SPARC only ] 68- rtsig-max 69- rtsig-nr 70- sem 71- sem_next_id [ sysv ipc ] 72- sg-big-buff [ generic SCSI device (sg) ] 73- shm_next_id [ sysv ipc ] 74- shm_rmid_forced 75- shmall 76- shmmax [ sysv ipc ] 77- shmmni 78- softlockup_all_cpu_backtrace 79- stop-a [ SPARC only ] 80- sysrq ==> Documentation/sysrq.txt 81- sysctl_writes_strict 82- tainted 83- threads-max 84- unknown_nmi_panic 85- watchdog_thresh 86- version 87 88============================================================== 89 90acct: 91 92highwater lowwater frequency 93 94If BSD-style process accounting is enabled these values control 95its behaviour. If free space on filesystem where the log lives 96goes below <lowwater>% accounting suspends. If free space gets 97above <highwater>% accounting resumes. <Frequency> determines 98how often do we check the amount of free space (value is in 99seconds). Default: 1004 2 30 101That is, suspend accounting if there left <= 2% free; resume it 102if we got >=4%; consider information about amount of free space 103valid for 30 seconds. 104 105============================================================== 106 107acpi_video_flags: 108 109flags 110 111See Doc*/kernel/power/video.txt, it allows mode of video boot to be 112set during run time. 113 114============================================================== 115 116auto_msgmni: 117 118Enables/Disables automatic recomputing of msgmni upon memory add/remove 119or upon ipc namespace creation/removal (see the msgmni description 120above). Echoing "1" into this file enables msgmni automatic recomputing. 121Echoing "0" turns it off. auto_msgmni default value is 1. 122 123 124============================================================== 125 126bootloader_type: 127 128x86 bootloader identification 129 130This gives the bootloader type number as indicated by the bootloader, 131shifted left by 4, and OR'd with the low four bits of the bootloader 132version. The reason for this encoding is that this used to match the 133type_of_loader field in the kernel header; the encoding is kept for 134backwards compatibility. That is, if the full bootloader type number 135is 0x15 and the full version number is 0x234, this file will contain 136the value 340 = 0x154. 137 138See the type_of_loader and ext_loader_type fields in 139Documentation/x86/boot.txt for additional information. 140 141============================================================== 142 143bootloader_version: 144 145x86 bootloader version 146 147The complete bootloader version number. In the example above, this 148file will contain the value 564 = 0x234. 149 150See the type_of_loader and ext_loader_ver fields in 151Documentation/x86/boot.txt for additional information. 152 153============================================================== 154 155callhome: 156 157Controls the kernel's callhome behavior in case of a kernel panic. 158 159The s390 hardware allows an operating system to send a notification 160to a service organization (callhome) in case of an operating system panic. 161 162When the value in this file is 0 (which is the default behavior) 163nothing happens in case of a kernel panic. If this value is set to "1" 164the complete kernel oops message is send to the IBM customer service 165organization in case the mainframe the Linux operating system is running 166on has a service contract with IBM. 167 168============================================================== 169 170cap_last_cap 171 172Highest valid capability of the running kernel. Exports 173CAP_LAST_CAP from the kernel. 174 175============================================================== 176 177core_pattern: 178 179core_pattern is used to specify a core dumpfile pattern name. 180. max length 128 characters; default value is "core" 181. core_pattern is used as a pattern template for the output filename; 182 certain string patterns (beginning with '%') are substituted with 183 their actual values. 184. backward compatibility with core_uses_pid: 185 If core_pattern does not include "%p" (default does not) 186 and core_uses_pid is set, then .PID will be appended to 187 the filename. 188. corename format specifiers: 189 %<NUL> '%' is dropped 190 %% output one '%' 191 %p pid 192 %P global pid (init PID namespace) 193 %u uid 194 %g gid 195 %d dump mode, matches PR_SET_DUMPABLE and 196 /proc/sys/fs/suid_dumpable 197 %s signal number 198 %t UNIX time of dump 199 %h hostname 200 %e executable filename (may be shortened) 201 %E executable path 202 %<OTHER> both are dropped 203. If the first character of the pattern is a '|', the kernel will treat 204 the rest of the pattern as a command to run. The core dump will be 205 written to the standard input of that program instead of to a file. 206 207============================================================== 208 209core_pipe_limit: 210 211This sysctl is only applicable when core_pattern is configured to pipe 212core files to a user space helper (when the first character of 213core_pattern is a '|', see above). When collecting cores via a pipe 214to an application, it is occasionally useful for the collecting 215application to gather data about the crashing process from its 216/proc/pid directory. In order to do this safely, the kernel must wait 217for the collecting process to exit, so as not to remove the crashing 218processes proc files prematurely. This in turn creates the 219possibility that a misbehaving userspace collecting process can block 220the reaping of a crashed process simply by never exiting. This sysctl 221defends against that. It defines how many concurrent crashing 222processes may be piped to user space applications in parallel. If 223this value is exceeded, then those crashing processes above that value 224are noted via the kernel log and their cores are skipped. 0 is a 225special value, indicating that unlimited processes may be captured in 226parallel, but that no waiting will take place (i.e. the collecting 227process is not guaranteed access to /proc/<crashing pid>/). This 228value defaults to 0. 229 230============================================================== 231 232core_uses_pid: 233 234The default coredump filename is "core". By setting 235core_uses_pid to 1, the coredump filename becomes core.PID. 236If core_pattern does not include "%p" (default does not) 237and core_uses_pid is set, then .PID will be appended to 238the filename. 239 240============================================================== 241 242ctrl-alt-del: 243 244When the value in this file is 0, ctrl-alt-del is trapped and 245sent to the init(1) program to handle a graceful restart. 246When, however, the value is > 0, Linux's reaction to a Vulcan 247Nerve Pinch (tm) will be an immediate reboot, without even 248syncing its dirty buffers. 249 250Note: when a program (like dosemu) has the keyboard in 'raw' 251mode, the ctrl-alt-del is intercepted by the program before it 252ever reaches the kernel tty layer, and it's up to the program 253to decide what to do with it. 254 255============================================================== 256 257dmesg_restrict: 258 259This toggle indicates whether unprivileged users are prevented 260from using dmesg(8) to view messages from the kernel's log buffer. 261When dmesg_restrict is set to (0) there are no restrictions. When 262dmesg_restrict is set set to (1), users must have CAP_SYSLOG to use 263dmesg(8). 264 265The kernel config option CONFIG_SECURITY_DMESG_RESTRICT sets the 266default value of dmesg_restrict. 267 268============================================================== 269 270domainname & hostname: 271 272These files can be used to set the NIS/YP domainname and the 273hostname of your box in exactly the same way as the commands 274domainname and hostname, i.e.: 275# echo "darkstar" > /proc/sys/kernel/hostname 276# echo "mydomain" > /proc/sys/kernel/domainname 277has the same effect as 278# hostname "darkstar" 279# domainname "mydomain" 280 281Note, however, that the classic darkstar.frop.org has the 282hostname "darkstar" and DNS (Internet Domain Name Server) 283domainname "frop.org", not to be confused with the NIS (Network 284Information Service) or YP (Yellow Pages) domainname. These two 285domain names are in general different. For a detailed discussion 286see the hostname(1) man page. 287 288============================================================== 289 290hotplug: 291 292Path for the hotplug policy agent. 293Default value is "/sbin/hotplug". 294 295============================================================== 296 297hung_task_panic: 298 299Controls the kernel's behavior when a hung task is detected. 300This file shows up if CONFIG_DETECT_HUNG_TASK is enabled. 301 3020: continue operation. This is the default behavior. 303 3041: panic immediately. 305 306============================================================== 307 308hung_task_check_count: 309 310The upper bound on the number of tasks that are checked. 311This file shows up if CONFIG_DETECT_HUNG_TASK is enabled. 312 313============================================================== 314 315hung_task_timeout_secs: 316 317Check interval. When a task in D state did not get scheduled 318for more than this value report a warning. 319This file shows up if CONFIG_DETECT_HUNG_TASK is enabled. 320 3210: means infinite timeout - no checking done. 322Possible values to set are in range {0..LONG_MAX/HZ}. 323 324============================================================== 325 326hung_task_warnings: 327 328The maximum number of warnings to report. During a check interval 329if a hung task is detected, this value is decreased by 1. 330When this value reaches 0, no more warnings will be reported. 331This file shows up if CONFIG_DETECT_HUNG_TASK is enabled. 332 333-1: report an infinite number of warnings. 334 335============================================================== 336 337kexec_load_disabled: 338 339A toggle indicating if the kexec_load syscall has been disabled. This 340value defaults to 0 (false: kexec_load enabled), but can be set to 1 341(true: kexec_load disabled). Once true, kexec can no longer be used, and 342the toggle cannot be set back to false. This allows a kexec image to be 343loaded before disabling the syscall, allowing a system to set up (and 344later use) an image without it being altered. Generally used together 345with the "modules_disabled" sysctl. 346 347============================================================== 348 349kptr_restrict: 350 351This toggle indicates whether restrictions are placed on 352exposing kernel addresses via /proc and other interfaces. 353 354When kptr_restrict is set to (0), the default, there are no restrictions. 355 356When kptr_restrict is set to (1), kernel pointers printed using the %pK 357format specifier will be replaced with 0's unless the user has CAP_SYSLOG 358and effective user and group ids are equal to the real ids. This is 359because %pK checks are done at read() time rather than open() time, so 360if permissions are elevated between the open() and the read() (e.g via 361a setuid binary) then %pK will not leak kernel pointers to unprivileged 362users. Note, this is a temporary solution only. The correct long-term 363solution is to do the permission checks at open() time. Consider removing 364world read permissions from files that use %pK, and using dmesg_restrict 365to protect against uses of %pK in dmesg(8) if leaking kernel pointer 366values to unprivileged users is a concern. 367 368When kptr_restrict is set to (2), kernel pointers printed using 369%pK will be replaced with 0's regardless of privileges. 370 371============================================================== 372 373kstack_depth_to_print: (X86 only) 374 375Controls the number of words to print when dumping the raw 376kernel stack. 377 378============================================================== 379 380l2cr: (PPC only) 381 382This flag controls the L2 cache of G3 processor boards. If 3830, the cache is disabled. Enabled if nonzero. 384 385============================================================== 386 387modules_disabled: 388 389A toggle value indicating if modules are allowed to be loaded 390in an otherwise modular kernel. This toggle defaults to off 391(0), but can be set true (1). Once true, modules can be 392neither loaded nor unloaded, and the toggle cannot be set back 393to false. Generally used with the "kexec_load_disabled" toggle. 394 395============================================================== 396 397msg_next_id, sem_next_id, and shm_next_id: 398 399These three toggles allows to specify desired id for next allocated IPC 400object: message, semaphore or shared memory respectively. 401 402By default they are equal to -1, which means generic allocation logic. 403Possible values to set are in range {0..INT_MAX}. 404 405Notes: 4061) kernel doesn't guarantee, that new object will have desired id. So, 407it's up to userspace, how to handle an object with "wrong" id. 4082) Toggle with non-default value will be set back to -1 by kernel after 409successful IPC object allocation. 410 411============================================================== 412 413nmi_watchdog: 414 415Enables/Disables the NMI watchdog on x86 systems. When the value is 416non-zero the NMI watchdog is enabled and will continuously test all 417online cpus to determine whether or not they are still functioning 418properly. Currently, passing "nmi_watchdog=" parameter at boot time is 419required for this function to work. 420 421If LAPIC NMI watchdog method is in use (nmi_watchdog=2 kernel 422parameter), the NMI watchdog shares registers with oprofile. By 423disabling the NMI watchdog, oprofile may have more registers to 424utilize. 425 426============================================================== 427 428numa_balancing 429 430Enables/disables automatic page fault based NUMA memory 431balancing. Memory is moved automatically to nodes 432that access it often. 433 434Enables/disables automatic NUMA memory balancing. On NUMA machines, there 435is a performance penalty if remote memory is accessed by a CPU. When this 436feature is enabled the kernel samples what task thread is accessing memory 437by periodically unmapping pages and later trapping a page fault. At the 438time of the page fault, it is determined if the data being accessed should 439be migrated to a local memory node. 440 441The unmapping of pages and trapping faults incur additional overhead that 442ideally is offset by improved memory locality but there is no universal 443guarantee. If the target workload is already bound to NUMA nodes then this 444feature should be disabled. Otherwise, if the system overhead from the 445feature is too high then the rate the kernel samples for NUMA hinting 446faults may be controlled by the numa_balancing_scan_period_min_ms, 447numa_balancing_scan_delay_ms, numa_balancing_scan_period_max_ms, 448numa_balancing_scan_size_mb, and numa_balancing_settle_count sysctls. 449 450============================================================== 451 452numa_balancing_scan_period_min_ms, numa_balancing_scan_delay_ms, 453numa_balancing_scan_period_max_ms, numa_balancing_scan_size_mb 454 455Automatic NUMA balancing scans tasks address space and unmaps pages to 456detect if pages are properly placed or if the data should be migrated to a 457memory node local to where the task is running. Every "scan delay" the task 458scans the next "scan size" number of pages in its address space. When the 459end of the address space is reached the scanner restarts from the beginning. 460 461In combination, the "scan delay" and "scan size" determine the scan rate. 462When "scan delay" decreases, the scan rate increases. The scan delay and 463hence the scan rate of every task is adaptive and depends on historical 464behaviour. If pages are properly placed then the scan delay increases, 465otherwise the scan delay decreases. The "scan size" is not adaptive but 466the higher the "scan size", the higher the scan rate. 467 468Higher scan rates incur higher system overhead as page faults must be 469trapped and potentially data must be migrated. However, the higher the scan 470rate, the more quickly a tasks memory is migrated to a local node if the 471workload pattern changes and minimises performance impact due to remote 472memory accesses. These sysctls control the thresholds for scan delays and 473the number of pages scanned. 474 475numa_balancing_scan_period_min_ms is the minimum time in milliseconds to 476scan a tasks virtual memory. It effectively controls the maximum scanning 477rate for each task. 478 479numa_balancing_scan_delay_ms is the starting "scan delay" used for a task 480when it initially forks. 481 482numa_balancing_scan_period_max_ms is the maximum time in milliseconds to 483scan a tasks virtual memory. It effectively controls the minimum scanning 484rate for each task. 485 486numa_balancing_scan_size_mb is how many megabytes worth of pages are 487scanned for a given scan. 488 489============================================================== 490 491osrelease, ostype & version: 492 493# cat osrelease 4942.1.88 495# cat ostype 496Linux 497# cat version 498#5 Wed Feb 25 21:49:24 MET 1998 499 500The files osrelease and ostype should be clear enough. Version 501needs a little more clarification however. The '#5' means that 502this is the fifth kernel built from this source base and the 503date behind it indicates the time the kernel was built. 504The only way to tune these values is to rebuild the kernel :-) 505 506============================================================== 507 508overflowgid & overflowuid: 509 510if your architecture did not always support 32-bit UIDs (i.e. arm, 511i386, m68k, sh, and sparc32), a fixed UID and GID will be returned to 512applications that use the old 16-bit UID/GID system calls, if the 513actual UID or GID would exceed 65535. 514 515These sysctls allow you to change the value of the fixed UID and GID. 516The default is 65534. 517 518============================================================== 519 520panic: 521 522The value in this file represents the number of seconds the kernel 523waits before rebooting on a panic. When you use the software watchdog, 524the recommended setting is 60. 525 526============================================================== 527 528panic_on_unrecovered_nmi: 529 530The default Linux behaviour on an NMI of either memory or unknown is 531to continue operation. For many environments such as scientific 532computing it is preferable that the box is taken out and the error 533dealt with than an uncorrected parity/ECC error get propagated. 534 535A small number of systems do generate NMI's for bizarre random reasons 536such as power management so the default is off. That sysctl works like 537the existing panic controls already in that directory. 538 539============================================================== 540 541panic_on_oops: 542 543Controls the kernel's behaviour when an oops or BUG is encountered. 544 5450: try to continue operation 546 5471: panic immediately. If the `panic' sysctl is also non-zero then the 548 machine will be rebooted. 549 550============================================================== 551 552panic_on_stackoverflow: 553 554Controls the kernel's behavior when detecting the overflows of 555kernel, IRQ and exception stacks except a user stack. 556This file shows up if CONFIG_DEBUG_STACKOVERFLOW is enabled. 557 5580: try to continue operation. 559 5601: panic immediately. 561 562============================================================== 563 564perf_cpu_time_max_percent: 565 566Hints to the kernel how much CPU time it should be allowed to 567use to handle perf sampling events. If the perf subsystem 568is informed that its samples are exceeding this limit, it 569will drop its sampling frequency to attempt to reduce its CPU 570usage. 571 572Some perf sampling happens in NMIs. If these samples 573unexpectedly take too long to execute, the NMIs can become 574stacked up next to each other so much that nothing else is 575allowed to execute. 576 5770: disable the mechanism. Do not monitor or correct perf's 578 sampling rate no matter how CPU time it takes. 579 5801-100: attempt to throttle perf's sample rate to this 581 percentage of CPU. Note: the kernel calculates an 582 "expected" length of each sample event. 100 here means 583 100% of that expected length. Even if this is set to 584 100, you may still see sample throttling if this 585 length is exceeded. Set to 0 if you truly do not care 586 how much CPU is consumed. 587 588============================================================== 589 590 591pid_max: 592 593PID allocation wrap value. When the kernel's next PID value 594reaches this value, it wraps back to a minimum PID value. 595PIDs of value pid_max or larger are not allocated. 596 597============================================================== 598 599ns_last_pid: 600 601The last pid allocated in the current (the one task using this sysctl 602lives in) pid namespace. When selecting a pid for a next task on fork 603kernel tries to allocate a number starting from this one. 604 605============================================================== 606 607powersave-nap: (PPC only) 608 609If set, Linux-PPC will use the 'nap' mode of powersaving, 610otherwise the 'doze' mode will be used. 611 612============================================================== 613 614printk: 615 616The four values in printk denote: console_loglevel, 617default_message_loglevel, minimum_console_loglevel and 618default_console_loglevel respectively. 619 620These values influence printk() behavior when printing or 621logging error messages. See 'man 2 syslog' for more info on 622the different loglevels. 623 624- console_loglevel: messages with a higher priority than 625 this will be printed to the console 626- default_message_loglevel: messages without an explicit priority 627 will be printed with this priority 628- minimum_console_loglevel: minimum (highest) value to which 629 console_loglevel can be set 630- default_console_loglevel: default value for console_loglevel 631 632============================================================== 633 634printk_delay: 635 636Delay each printk message in printk_delay milliseconds 637 638Value from 0 - 10000 is allowed. 639 640============================================================== 641 642printk_ratelimit: 643 644Some warning messages are rate limited. printk_ratelimit specifies 645the minimum length of time between these messages (in jiffies), by 646default we allow one every 5 seconds. 647 648A value of 0 will disable rate limiting. 649 650============================================================== 651 652printk_ratelimit_burst: 653 654While long term we enforce one message per printk_ratelimit 655seconds, we do allow a burst of messages to pass through. 656printk_ratelimit_burst specifies the number of messages we can 657send before ratelimiting kicks in. 658 659============================================================== 660 661randomize_va_space: 662 663This option can be used to select the type of process address 664space randomization that is used in the system, for architectures 665that support this feature. 666 6670 - Turn the process address space randomization off. This is the 668 default for architectures that do not support this feature anyways, 669 and kernels that are booted with the "norandmaps" parameter. 670 6711 - Make the addresses of mmap base, stack and VDSO page randomized. 672 This, among other things, implies that shared libraries will be 673 loaded to random addresses. Also for PIE-linked binaries, the 674 location of code start is randomized. This is the default if the 675 CONFIG_COMPAT_BRK option is enabled. 676 6772 - Additionally enable heap randomization. This is the default if 678 CONFIG_COMPAT_BRK is disabled. 679 680 There are a few legacy applications out there (such as some ancient 681 versions of libc.so.5 from 1996) that assume that brk area starts 682 just after the end of the code+bss. These applications break when 683 start of the brk area is randomized. There are however no known 684 non-legacy applications that would be broken this way, so for most 685 systems it is safe to choose full randomization. 686 687 Systems with ancient and/or broken binaries should be configured 688 with CONFIG_COMPAT_BRK enabled, which excludes the heap from process 689 address space randomization. 690 691============================================================== 692 693reboot-cmd: (Sparc only) 694 695??? This seems to be a way to give an argument to the Sparc 696ROM/Flash boot loader. Maybe to tell it what to do after 697rebooting. ??? 698 699============================================================== 700 701rtsig-max & rtsig-nr: 702 703The file rtsig-max can be used to tune the maximum number 704of POSIX realtime (queued) signals that can be outstanding 705in the system. 706 707rtsig-nr shows the number of RT signals currently queued. 708 709============================================================== 710 711sg-big-buff: 712 713This file shows the size of the generic SCSI (sg) buffer. 714You can't tune it just yet, but you could change it on 715compile time by editing include/scsi/sg.h and changing 716the value of SG_BIG_BUFF. 717 718There shouldn't be any reason to change this value. If 719you can come up with one, you probably know what you 720are doing anyway :) 721 722============================================================== 723 724shmall: 725 726This parameter sets the total amount of shared memory pages that 727can be used system wide. Hence, SHMALL should always be at least 728ceil(shmmax/PAGE_SIZE). 729 730If you are not sure what the default PAGE_SIZE is on your Linux 731system, you can run the following command: 732 733# getconf PAGE_SIZE 734 735============================================================== 736 737shmmax: 738 739This value can be used to query and set the run time limit 740on the maximum shared memory segment size that can be created. 741Shared memory segments up to 1Gb are now supported in the 742kernel. This value defaults to SHMMAX. 743 744============================================================== 745 746shm_rmid_forced: 747 748Linux lets you set resource limits, including how much memory one 749process can consume, via setrlimit(2). Unfortunately, shared memory 750segments are allowed to exist without association with any process, and 751thus might not be counted against any resource limits. If enabled, 752shared memory segments are automatically destroyed when their attach 753count becomes zero after a detach or a process termination. It will 754also destroy segments that were created, but never attached to, on exit 755from the process. The only use left for IPC_RMID is to immediately 756destroy an unattached segment. Of course, this breaks the way things are 757defined, so some applications might stop working. Note that this 758feature will do you no good unless you also configure your resource 759limits (in particular, RLIMIT_AS and RLIMIT_NPROC). Most systems don't 760need this. 761 762Note that if you change this from 0 to 1, already created segments 763without users and with a dead originative process will be destroyed. 764 765============================================================== 766 767sysctl_writes_strict: 768 769Control how file position affects the behavior of updating sysctl values 770via the /proc/sys interface: 771 772 -1 - Legacy per-write sysctl value handling, with no printk warnings. 773 Each write syscall must fully contain the sysctl value to be 774 written, and multiple writes on the same sysctl file descriptor 775 will rewrite the sysctl value, regardless of file position. 776 0 - (default) Same behavior as above, but warn about processes that 777 perform writes to a sysctl file descriptor when the file position 778 is not 0. 779 1 - Respect file position when writing sysctl strings. Multiple writes 780 will append to the sysctl value buffer. Anything past the max length 781 of the sysctl value buffer will be ignored. Writes to numeric sysctl 782 entries must always be at file position 0 and the value must be 783 fully contained in the buffer sent in the write syscall. 784 785============================================================== 786 787softlockup_all_cpu_backtrace: 788 789This value controls the soft lockup detector thread's behavior 790when a soft lockup condition is detected as to whether or not 791to gather further debug information. If enabled, each cpu will 792be issued an NMI and instructed to capture stack trace. 793 794This feature is only applicable for architectures which support 795NMI. 796 7970: do nothing. This is the default behavior. 798 7991: on detection capture more debug information. 800 801============================================================== 802 803tainted: 804 805Non-zero if the kernel has been tainted. Numeric values, which 806can be ORed together: 807 808 1 - A module with a non-GPL license has been loaded, this 809 includes modules with no license. 810 Set by modutils >= 2.4.9 and module-init-tools. 811 2 - A module was force loaded by insmod -f. 812 Set by modutils >= 2.4.9 and module-init-tools. 813 4 - Unsafe SMP processors: SMP with CPUs not designed for SMP. 814 8 - A module was forcibly unloaded from the system by rmmod -f. 815 16 - A hardware machine check error occurred on the system. 816 32 - A bad page was discovered on the system. 817 64 - The user has asked that the system be marked "tainted". This 818 could be because they are running software that directly modifies 819 the hardware, or for other reasons. 820 128 - The system has died. 821 256 - The ACPI DSDT has been overridden with one supplied by the user 822 instead of using the one provided by the hardware. 823 512 - A kernel warning has occurred. 8241024 - A module from drivers/staging was loaded. 8252048 - The system is working around a severe firmware bug. 8264096 - An out-of-tree module has been loaded. 8278192 - An unsigned module has been loaded in a kernel supporting module 828 signature. 829 830============================================================== 831 832unknown_nmi_panic: 833 834The value in this file affects behavior of handling NMI. When the 835value is non-zero, unknown NMI is trapped and then panic occurs. At 836that time, kernel debugging information is displayed on console. 837 838NMI switch that most IA32 servers have fires unknown NMI up, for 839example. If a system hangs up, try pressing the NMI switch. 840 841============================================================== 842 843watchdog_thresh: 844 845This value can be used to control the frequency of hrtimer and NMI 846events and the soft and hard lockup thresholds. The default threshold 847is 10 seconds. 848 849The softlockup threshold is (2 * watchdog_thresh). Setting this 850tunable to zero will disable lockup detection altogether. 851 852==============================================================