About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / sysctl / kernel.txt




Custom Search

Based on kernel version 4.7.2. Page generated on 2016-08-22 22:48 EST.

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

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.