About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / sysctl / kernel.txt




Custom Search

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