About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / sysctl / kernel.txt




Custom Search

Based on kernel version 4.13.3. Page generated on 2017-09-23 13:56 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	- 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_stackoverflow
58	- panic_on_unrecovered_nmi
59	- panic_on_warn
60	- panic_on_rcu_stall
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/admin-guide/initrd.rst
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/admin-guide/sysrq.rst
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	l2cr: (PPC only)
398	
399	This flag controls the L2 cache of G3 processor boards. If
400	0, the cache is disabled. Enabled if nonzero.
401	
402	==============================================================
403	
404	modules_disabled:
405	
406	A toggle value indicating if modules are allowed to be loaded
407	in an otherwise modular kernel.  This toggle defaults to off
408	(0), but can be set true (1).  Once true, modules can be
409	neither loaded nor unloaded, and the toggle cannot be set back
410	to false.  Generally used with the "kexec_load_disabled" toggle.
411	
412	==============================================================
413	
414	msg_next_id, sem_next_id, and shm_next_id:
415	
416	These three toggles allows to specify desired id for next allocated IPC
417	object: message, semaphore or shared memory respectively.
418	
419	By default they are equal to -1, which means generic allocation logic.
420	Possible values to set are in range {0..INT_MAX}.
421	
422	Notes:
423	1) kernel doesn't guarantee, that new object will have desired id. So,
424	it's up to userspace, how to handle an object with "wrong" id.
425	2) Toggle with non-default value will be set back to -1 by kernel after
426	successful IPC object allocation.
427	
428	==============================================================
429	
430	nmi_watchdog:
431	
432	This parameter can be used to control the NMI watchdog
433	(i.e. the hard lockup detector) on x86 systems.
434	
435	   0 - disable the hard lockup detector
436	   1 - enable the hard lockup detector
437	
438	The hard lockup detector monitors each CPU for its ability to respond to
439	timer interrupts. The mechanism utilizes CPU performance counter registers
440	that are programmed to generate Non-Maskable Interrupts (NMIs) periodically
441	while a CPU is busy. Hence, the alternative name 'NMI watchdog'.
442	
443	The NMI watchdog is disabled by default if the kernel is running as a guest
444	in a KVM virtual machine. This default can be overridden by adding
445	
446	   nmi_watchdog=1
447	
448	to the guest kernel command line (see Documentation/admin-guide/kernel-parameters.rst).
449	
450	==============================================================
451	
452	numa_balancing
453	
454	Enables/disables automatic page fault based NUMA memory
455	balancing. Memory is moved automatically to nodes
456	that access it often.
457	
458	Enables/disables automatic NUMA memory balancing. On NUMA machines, there
459	is a performance penalty if remote memory is accessed by a CPU. When this
460	feature is enabled the kernel samples what task thread is accessing memory
461	by periodically unmapping pages and later trapping a page fault. At the
462	time of the page fault, it is determined if the data being accessed should
463	be migrated to a local memory node.
464	
465	The unmapping of pages and trapping faults incur additional overhead that
466	ideally is offset by improved memory locality but there is no universal
467	guarantee. If the target workload is already bound to NUMA nodes then this
468	feature should be disabled. Otherwise, if the system overhead from the
469	feature is too high then the rate the kernel samples for NUMA hinting
470	faults may be controlled by the numa_balancing_scan_period_min_ms,
471	numa_balancing_scan_delay_ms, numa_balancing_scan_period_max_ms,
472	numa_balancing_scan_size_mb, and numa_balancing_settle_count sysctls.
473	
474	==============================================================
475	
476	numa_balancing_scan_period_min_ms, numa_balancing_scan_delay_ms,
477	numa_balancing_scan_period_max_ms, numa_balancing_scan_size_mb
478	
479	Automatic NUMA balancing scans tasks address space and unmaps pages to
480	detect if pages are properly placed or if the data should be migrated to a
481	memory node local to where the task is running.  Every "scan delay" the task
482	scans the next "scan size" number of pages in its address space. When the
483	end of the address space is reached the scanner restarts from the beginning.
484	
485	In combination, the "scan delay" and "scan size" determine the scan rate.
486	When "scan delay" decreases, the scan rate increases.  The scan delay and
487	hence the scan rate of every task is adaptive and depends on historical
488	behaviour. If pages are properly placed then the scan delay increases,
489	otherwise the scan delay decreases.  The "scan size" is not adaptive but
490	the higher the "scan size", the higher the scan rate.
491	
492	Higher scan rates incur higher system overhead as page faults must be
493	trapped and potentially data must be migrated. However, the higher the scan
494	rate, the more quickly a tasks memory is migrated to a local node if the
495	workload pattern changes and minimises performance impact due to remote
496	memory accesses. These sysctls control the thresholds for scan delays and
497	the number of pages scanned.
498	
499	numa_balancing_scan_period_min_ms is the minimum time in milliseconds to
500	scan a tasks virtual memory. It effectively controls the maximum scanning
501	rate for each task.
502	
503	numa_balancing_scan_delay_ms is the starting "scan delay" used for a task
504	when it initially forks.
505	
506	numa_balancing_scan_period_max_ms is the maximum time in milliseconds to
507	scan a tasks virtual memory. It effectively controls the minimum scanning
508	rate for each task.
509	
510	numa_balancing_scan_size_mb is how many megabytes worth of pages are
511	scanned for a given scan.
512	
513	==============================================================
514	
515	osrelease, ostype & version:
516	
517	# cat osrelease
518	2.1.88
519	# cat ostype
520	Linux
521	# cat version
522	#5 Wed Feb 25 21:49:24 MET 1998
523	
524	The files osrelease and ostype should be clear enough. Version
525	needs a little more clarification however. The '#5' means that
526	this is the fifth kernel built from this source base and the
527	date behind it indicates the time the kernel was built.
528	The only way to tune these values is to rebuild the kernel :-)
529	
530	==============================================================
531	
532	overflowgid & overflowuid:
533	
534	if your architecture did not always support 32-bit UIDs (i.e. arm,
535	i386, m68k, sh, and sparc32), a fixed UID and GID will be returned to
536	applications that use the old 16-bit UID/GID system calls, if the
537	actual UID or GID would exceed 65535.
538	
539	These sysctls allow you to change the value of the fixed UID and GID.
540	The default is 65534.
541	
542	==============================================================
543	
544	panic:
545	
546	The value in this file represents the number of seconds the kernel
547	waits before rebooting on a panic. When you use the software watchdog,
548	the recommended setting is 60.
549	
550	==============================================================
551	
552	panic_on_io_nmi:
553	
554	Controls the kernel's behavior when a CPU receives an NMI caused by
555	an IO error.
556	
557	0: try to continue operation (default)
558	
559	1: panic immediately. The IO error triggered an NMI. This indicates a
560	   serious system condition which could result in IO data corruption.
561	   Rather than continuing, panicking might be a better choice. Some
562	   servers issue this sort of NMI when the dump button is pushed,
563	   and you can use this option to take a crash dump.
564	
565	==============================================================
566	
567	panic_on_oops:
568	
569	Controls the kernel's behaviour when an oops or BUG is encountered.
570	
571	0: try to continue operation
572	
573	1: panic immediately.  If the `panic' sysctl is also non-zero then the
574	   machine will be rebooted.
575	
576	==============================================================
577	
578	panic_on_stackoverflow:
579	
580	Controls the kernel's behavior when detecting the overflows of
581	kernel, IRQ and exception stacks except a user stack.
582	This file shows up if CONFIG_DEBUG_STACKOVERFLOW is enabled.
583	
584	0: try to continue operation.
585	
586	1: panic immediately.
587	
588	==============================================================
589	
590	panic_on_unrecovered_nmi:
591	
592	The default Linux behaviour on an NMI of either memory or unknown is
593	to continue operation. For many environments such as scientific
594	computing it is preferable that the box is taken out and the error
595	dealt with than an uncorrected parity/ECC error get propagated.
596	
597	A small number of systems do generate NMI's for bizarre random reasons
598	such as power management so the default is off. That sysctl works like
599	the existing panic controls already in that directory.
600	
601	==============================================================
602	
603	panic_on_warn:
604	
605	Calls panic() in the WARN() path when set to 1.  This is useful to avoid
606	a kernel rebuild when attempting to kdump at the location of a WARN().
607	
608	0: only WARN(), default behaviour.
609	
610	1: call panic() after printing out WARN() location.
611	
612	==============================================================
613	
614	panic_on_rcu_stall:
615	
616	When set to 1, calls panic() after RCU stall detection messages. This
617	is useful to define the root cause of RCU stalls using a vmcore.
618	
619	0: do not panic() when RCU stall takes place, default behavior.
620	
621	1: panic() after printing RCU stall messages.
622	
623	==============================================================
624	
625	perf_cpu_time_max_percent:
626	
627	Hints to the kernel how much CPU time it should be allowed to
628	use to handle perf sampling events.  If the perf subsystem
629	is informed that its samples are exceeding this limit, it
630	will drop its sampling frequency to attempt to reduce its CPU
631	usage.
632	
633	Some perf sampling happens in NMIs.  If these samples
634	unexpectedly take too long to execute, the NMIs can become
635	stacked up next to each other so much that nothing else is
636	allowed to execute.
637	
638	0: disable the mechanism.  Do not monitor or correct perf's
639	   sampling rate no matter how CPU time it takes.
640	
641	1-100: attempt to throttle perf's sample rate to this
642	   percentage of CPU.  Note: the kernel calculates an
643	   "expected" length of each sample event.  100 here means
644	   100% of that expected length.  Even if this is set to
645	   100, you may still see sample throttling if this
646	   length is exceeded.  Set to 0 if you truly do not care
647	   how much CPU is consumed.
648	
649	==============================================================
650	
651	perf_event_paranoid:
652	
653	Controls use of the performance events system by unprivileged
654	users (without CAP_SYS_ADMIN).  The default value is 2.
655	
656	 -1: Allow use of (almost) all events by all users
657	>=0: Disallow raw tracepoint access by users without CAP_IOC_LOCK
658	>=1: Disallow CPU event access by users without CAP_SYS_ADMIN
659	>=2: Disallow kernel profiling by users without CAP_SYS_ADMIN
660	
661	==============================================================
662	
663	perf_event_max_stack:
664	
665	Controls maximum number of stack frames to copy for (attr.sample_type &
666	PERF_SAMPLE_CALLCHAIN) configured events, for instance, when using
667	'perf record -g' or 'perf trace --call-graph fp'.
668	
669	This can only be done when no events are in use that have callchains
670	enabled, otherwise writing to this file will return -EBUSY.
671	
672	The default value is 127.
673	
674	==============================================================
675	
676	perf_event_max_contexts_per_stack:
677	
678	Controls maximum number of stack frame context entries for
679	(attr.sample_type & PERF_SAMPLE_CALLCHAIN) configured events, for
680	instance, when using 'perf record -g' or 'perf trace --call-graph fp'.
681	
682	This can only be done when no events are in use that have callchains
683	enabled, otherwise writing to this file will return -EBUSY.
684	
685	The default value is 8.
686	
687	==============================================================
688	
689	pid_max:
690	
691	PID allocation wrap value.  When the kernel's next PID value
692	reaches this value, it wraps back to a minimum PID value.
693	PIDs of value pid_max or larger are not allocated.
694	
695	==============================================================
696	
697	ns_last_pid:
698	
699	The last pid allocated in the current (the one task using this sysctl
700	lives in) pid namespace. When selecting a pid for a next task on fork
701	kernel tries to allocate a number starting from this one.
702	
703	==============================================================
704	
705	powersave-nap: (PPC only)
706	
707	If set, Linux-PPC will use the 'nap' mode of powersaving,
708	otherwise the 'doze' mode will be used.
709	
710	==============================================================
711	
712	printk:
713	
714	The four values in printk denote: console_loglevel,
715	default_message_loglevel, minimum_console_loglevel and
716	default_console_loglevel respectively.
717	
718	These values influence printk() behavior when printing or
719	logging error messages. See 'man 2 syslog' for more info on
720	the different loglevels.
721	
722	- console_loglevel: messages with a higher priority than
723	  this will be printed to the console
724	- default_message_loglevel: messages without an explicit priority
725	  will be printed with this priority
726	- minimum_console_loglevel: minimum (highest) value to which
727	  console_loglevel can be set
728	- default_console_loglevel: default value for console_loglevel
729	
730	==============================================================
731	
732	printk_delay:
733	
734	Delay each printk message in printk_delay milliseconds
735	
736	Value from 0 - 10000 is allowed.
737	
738	==============================================================
739	
740	printk_ratelimit:
741	
742	Some warning messages are rate limited. printk_ratelimit specifies
743	the minimum length of time between these messages (in jiffies), by
744	default we allow one every 5 seconds.
745	
746	A value of 0 will disable rate limiting.
747	
748	==============================================================
749	
750	printk_ratelimit_burst:
751	
752	While long term we enforce one message per printk_ratelimit
753	seconds, we do allow a burst of messages to pass through.
754	printk_ratelimit_burst specifies the number of messages we can
755	send before ratelimiting kicks in.
756	
757	==============================================================
758	
759	printk_devkmsg:
760	
761	Control the logging to /dev/kmsg from userspace:
762	
763	ratelimit: default, ratelimited
764	on: unlimited logging to /dev/kmsg from userspace
765	off: logging to /dev/kmsg disabled
766	
767	The kernel command line parameter printk.devkmsg= overrides this and is
768	a one-time setting until next reboot: once set, it cannot be changed by
769	this sysctl interface anymore.
770	
771	==============================================================
772	
773	randomize_va_space:
774	
775	This option can be used to select the type of process address
776	space randomization that is used in the system, for architectures
777	that support this feature.
778	
779	0 - Turn the process address space randomization off.  This is the
780	    default for architectures that do not support this feature anyways,
781	    and kernels that are booted with the "norandmaps" parameter.
782	
783	1 - Make the addresses of mmap base, stack and VDSO page randomized.
784	    This, among other things, implies that shared libraries will be
785	    loaded to random addresses.  Also for PIE-linked binaries, the
786	    location of code start is randomized.  This is the default if the
787	    CONFIG_COMPAT_BRK option is enabled.
788	
789	2 - Additionally enable heap randomization.  This is the default if
790	    CONFIG_COMPAT_BRK is disabled.
791	
792	    There are a few legacy applications out there (such as some ancient
793	    versions of libc.so.5 from 1996) that assume that brk area starts
794	    just after the end of the code+bss.  These applications break when
795	    start of the brk area is randomized.  There are however no known
796	    non-legacy applications that would be broken this way, so for most
797	    systems it is safe to choose full randomization.
798	
799	    Systems with ancient and/or broken binaries should be configured
800	    with CONFIG_COMPAT_BRK enabled, which excludes the heap from process
801	    address space randomization.
802	
803	==============================================================
804	
805	reboot-cmd: (Sparc only)
806	
807	??? This seems to be a way to give an argument to the Sparc
808	ROM/Flash boot loader. Maybe to tell it what to do after
809	rebooting. ???
810	
811	==============================================================
812	
813	rtsig-max & rtsig-nr:
814	
815	The file rtsig-max can be used to tune the maximum number
816	of POSIX realtime (queued) signals that can be outstanding
817	in the system.
818	
819	rtsig-nr shows the number of RT signals currently queued.
820	
821	==============================================================
822	
823	sched_schedstats:
824	
825	Enables/disables scheduler statistics. Enabling this feature
826	incurs a small amount of overhead in the scheduler but is
827	useful for debugging and performance tuning.
828	
829	==============================================================
830	
831	sg-big-buff:
832	
833	This file shows the size of the generic SCSI (sg) buffer.
834	You can't tune it just yet, but you could change it on
835	compile time by editing include/scsi/sg.h and changing
836	the value of SG_BIG_BUFF.
837	
838	There shouldn't be any reason to change this value. If
839	you can come up with one, you probably know what you
840	are doing anyway :)
841	
842	==============================================================
843	
844	shmall:
845	
846	This parameter sets the total amount of shared memory pages that
847	can be used system wide. Hence, SHMALL should always be at least
848	ceil(shmmax/PAGE_SIZE).
849	
850	If you are not sure what the default PAGE_SIZE is on your Linux
851	system, you can run the following command:
852	
853	# getconf PAGE_SIZE
854	
855	==============================================================
856	
857	shmmax:
858	
859	This value can be used to query and set the run time limit
860	on the maximum shared memory segment size that can be created.
861	Shared memory segments up to 1Gb are now supported in the
862	kernel.  This value defaults to SHMMAX.
863	
864	==============================================================
865	
866	shm_rmid_forced:
867	
868	Linux lets you set resource limits, including how much memory one
869	process can consume, via setrlimit(2).  Unfortunately, shared memory
870	segments are allowed to exist without association with any process, and
871	thus might not be counted against any resource limits.  If enabled,
872	shared memory segments are automatically destroyed when their attach
873	count becomes zero after a detach or a process termination.  It will
874	also destroy segments that were created, but never attached to, on exit
875	from the process.  The only use left for IPC_RMID is to immediately
876	destroy an unattached segment.  Of course, this breaks the way things are
877	defined, so some applications might stop working.  Note that this
878	feature will do you no good unless you also configure your resource
879	limits (in particular, RLIMIT_AS and RLIMIT_NPROC).  Most systems don't
880	need this.
881	
882	Note that if you change this from 0 to 1, already created segments
883	without users and with a dead originative process will be destroyed.
884	
885	==============================================================
886	
887	sysctl_writes_strict:
888	
889	Control how file position affects the behavior of updating sysctl values
890	via the /proc/sys interface:
891	
892	  -1 - Legacy per-write sysctl value handling, with no printk warnings.
893	       Each write syscall must fully contain the sysctl value to be
894	       written, and multiple writes on the same sysctl file descriptor
895	       will rewrite the sysctl value, regardless of file position.
896	   0 - Same behavior as above, but warn about processes that perform writes
897	       to a sysctl file descriptor when the file position is not 0.
898	   1 - (default) Respect file position when writing sysctl strings. Multiple
899	       writes will append to the sysctl value buffer. Anything past the max
900	       length of the sysctl value buffer will be ignored. Writes to numeric
901	       sysctl entries must always be at file position 0 and the value must
902	       be fully contained in the buffer sent in the write syscall.
903	
904	==============================================================
905	
906	softlockup_all_cpu_backtrace:
907	
908	This value controls the soft lockup detector thread's behavior
909	when a soft lockup condition is detected as to whether or not
910	to gather further debug information. If enabled, each cpu will
911	be issued an NMI and instructed to capture stack trace.
912	
913	This feature is only applicable for architectures which support
914	NMI.
915	
916	0: do nothing. This is the default behavior.
917	
918	1: on detection capture more debug information.
919	
920	==============================================================
921	
922	soft_watchdog
923	
924	This parameter can be used to control the soft lockup detector.
925	
926	   0 - disable the soft lockup detector
927	   1 - enable the soft lockup detector
928	
929	The soft lockup detector monitors CPUs for threads that are hogging the CPUs
930	without rescheduling voluntarily, and thus prevent the 'watchdog/N' threads
931	from running. The mechanism depends on the CPUs ability to respond to timer
932	interrupts which are needed for the 'watchdog/N' threads to be woken up by
933	the watchdog timer function, otherwise the NMI watchdog - if enabled - can
934	detect a hard lockup condition.
935	
936	==============================================================
937	
938	tainted:
939	
940	Non-zero if the kernel has been tainted.  Numeric values, which
941	can be ORed together:
942	
943	   1 - A module with a non-GPL license has been loaded, this
944	       includes modules with no license.
945	       Set by modutils >= 2.4.9 and module-init-tools.
946	   2 - A module was force loaded by insmod -f.
947	       Set by modutils >= 2.4.9 and module-init-tools.
948	   4 - Unsafe SMP processors: SMP with CPUs not designed for SMP.
949	   8 - A module was forcibly unloaded from the system by rmmod -f.
950	  16 - A hardware machine check error occurred on the system.
951	  32 - A bad page was discovered on the system.
952	  64 - The user has asked that the system be marked "tainted".  This
953	       could be because they are running software that directly modifies
954	       the hardware, or for other reasons.
955	 128 - The system has died.
956	 256 - The ACPI DSDT has been overridden with one supplied by the user
957	        instead of using the one provided by the hardware.
958	 512 - A kernel warning has occurred.
959	1024 - A module from drivers/staging was loaded.
960	2048 - The system is working around a severe firmware bug.
961	4096 - An out-of-tree module has been loaded.
962	8192 - An unsigned module has been loaded in a kernel supporting module
963	       signature.
964	16384 - A soft lockup has previously occurred on the system.
965	32768 - The kernel has been live patched.
966	
967	==============================================================
968	
969	threads-max
970	
971	This value controls the maximum number of threads that can be created
972	using fork().
973	
974	During initialization the kernel sets this value such that even if the
975	maximum number of threads is created, the thread structures occupy only
976	a part (1/8th) of the available RAM pages.
977	
978	The minimum value that can be written to threads-max is 20.
979	The maximum value that can be written to threads-max is given by the
980	constant FUTEX_TID_MASK (0x3fffffff).
981	If a value outside of this range is written to threads-max an error
982	EINVAL occurs.
983	
984	The value written is checked against the available RAM pages. If the
985	thread structures would occupy too much (more than 1/8th) of the
986	available RAM pages threads-max is reduced accordingly.
987	
988	==============================================================
989	
990	unknown_nmi_panic:
991	
992	The value in this file affects behavior of handling NMI. When the
993	value is non-zero, unknown NMI is trapped and then panic occurs. At
994	that time, kernel debugging information is displayed on console.
995	
996	NMI switch that most IA32 servers have fires unknown NMI up, for
997	example.  If a system hangs up, try pressing the NMI switch.
998	
999	==============================================================
1000	
1001	watchdog:
1002	
1003	This parameter can be used to disable or enable the soft lockup detector
1004	_and_ the NMI watchdog (i.e. the hard lockup detector) at the same time.
1005	
1006	   0 - disable both lockup detectors
1007	   1 - enable both lockup detectors
1008	
1009	The soft lockup detector and the NMI watchdog can also be disabled or
1010	enabled individually, using the soft_watchdog and nmi_watchdog parameters.
1011	If the watchdog parameter is read, for example by executing
1012	
1013	   cat /proc/sys/kernel/watchdog
1014	
1015	the output of this command (0 or 1) shows the logical OR of soft_watchdog
1016	and nmi_watchdog.
1017	
1018	==============================================================
1019	
1020	watchdog_cpumask:
1021	
1022	This value can be used to control on which cpus the watchdog may run.
1023	The default cpumask is all possible cores, but if NO_HZ_FULL is
1024	enabled in the kernel config, and cores are specified with the
1025	nohz_full= boot argument, those cores are excluded by default.
1026	Offline cores can be included in this mask, and if the core is later
1027	brought online, the watchdog will be started based on the mask value.
1028	
1029	Typically this value would only be touched in the nohz_full case
1030	to re-enable cores that by default were not running the watchdog,
1031	if a kernel lockup was suspected on those cores.
1032	
1033	The argument value is the standard cpulist format for cpumasks,
1034	so for example to enable the watchdog on cores 0, 2, 3, and 4 you
1035	might say:
1036	
1037	  echo 0,2-4 > /proc/sys/kernel/watchdog_cpumask
1038	
1039	==============================================================
1040	
1041	watchdog_thresh:
1042	
1043	This value can be used to control the frequency of hrtimer and NMI
1044	events and the soft and hard lockup thresholds. The default threshold
1045	is 10 seconds.
1046	
1047	The softlockup threshold is (2 * watchdog_thresh). Setting this
1048	tunable to zero will disable lockup detection altogether.
1049	
1050	==============================================================
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.