man > proc_sys_kernel(5)

proc_sys_kernel(5)                       File Formats Manual                      proc_sys_kernel(5)

NAME
       /proc/sys/kernel/ - control a range of kernel parameters

DESCRIPTION
       /proc/sys/kernel/
              This  directory  contains files controlling a range of kernel parameters, as described
              below.

       /proc/sys/kernel/acct
              This file contains three numbers: highwater, lowwater, and  frequency.   If  BSD-style
              process  accounting  is  enabled, these values control its behavior.  If free space on
              filesystem where the log lives goes below lowwater percent, accounting  suspends.   If
              free space gets above highwater percent, accounting resumes.  frequency determines how
              often  the kernel checks the amount of free space (value is in seconds).  Default val‐
              ues are 4, 2, and 30.  That is, suspend accounting if 2% or less space is free; resume
              it if 4% or more space is free; consider information about amount of free space  valid
              for 30 seconds.

       /proc/sys/kernel/auto_msgmni (Linux 2.6.27 to Linux 3.18)
              From  Linux  2.6.27  to  Linux  3.18, this file was used to control recomputing of the
              value in /proc/sys/kernel/msgmni upon the addition or removal of memory  or  upon  IPC
              namespace  creation/removal.   Echoing "1" into this file enabled msgmni automatic re‐
              computing (and triggered a recomputation of msgmni based  on  the  current  amount  of
              available memory and number of IPC namespaces).  Echoing "0" disabled automatic recom‐
              puting.   (Automatic  recomputing was also disabled if a value was explicitly assigned
              to /proc/sys/kernel/msgmni.)  The default value in auto_msgmni was 1.

              Since Linux 3.19, the content of this file has no effect (because msgmni  defaults  to
              near  the  maximum  value  possible), and reads from this file always return the value
              "0".

       /proc/sys/kernel/cap_last_cap (since Linux 3.2)
              See capabilities(7).

       /proc/sys/kernel/cap-bound (from Linux 2.2 to Linux 2.6.24)
              This file holds the value of the kernel capability bounding set (expressed as a signed
              decimal number).  This set is ANDed against the capabilities permitted  to  a  process
              during execve(2).  Starting with Linux 2.6.25, the system-wide capability bounding set
              disappeared, and was replaced by a per-thread bounding set; see capabilities(7).

       /proc/sys/kernel/core_pattern
              See core(5).

       /proc/sys/kernel/core_pipe_limit
              See core(5).

       /proc/sys/kernel/core_uses_pid
              See core(5).

       /proc/sys/kernel/ctrl-alt-del
              This  file controls the handling of Ctrl-Alt-Del from the keyboard.  When the value in
              this file is 0, Ctrl-Alt-Del is trapped and sent to the init(1) program  to  handle  a
              graceful  restart.   When the value is greater than zero, Linux's reaction to a Vulcan
              Nerve Pinch (tm) will be an immediate reboot, without even syncing its dirty  buffers.
              Note: when a program (like dosemu) has the keyboard in "raw" mode, the Ctrl-Alt-Del is
              intercepted by the program before it ever reaches the kernel tty layer, and it's up to
              the program to decide what to do with it.

       /proc/sys/kernel/dmesg_restrict (since Linux 2.6.37)
              The value in this file determines who can see kernel syslog contents.  A value of 0 in
              this  file imposes no restrictions.  If the value is 1, only privileged users can read
              the kernel syslog.  (See syslog(2) for more details.)  Since  Linux  3.4,  only  users
              with the CAP_SYS_ADMIN capability may change the value in this file.

       /proc/sys/kernel/domainname and /proc/sys/kernel/hostname
              can  be  used to set the NIS/YP domainname and the hostname of your box in exactly the
              same way as the commands domainname(1) and hostname(1), that is:

                  # echo 'darkstar' > /proc/sys/kernel/hostname
                  # echo 'mydomain' > /proc/sys/kernel/domainname

              has the same effect as

                  # hostname 'darkstar'
                  # domainname 'mydomain'

              Note, however, that the classic darkstar.frop.org has the hostname "darkstar" and  DNS
              (Internet  Domain  Name Server) domainname "frop.org", not to be confused with the NIS
              (Network Information Service) or YP (Yellow Pages) domainname.  These two domain names
              are in general different.  For a detailed discussion see the hostname(1) man page.

       /proc/sys/kernel/hotplug
              This file contains the pathname for the hotplug policy agent.  The  default  value  in
              this file is /sbin/hotplug.

       /proc/sys/kernel/htab-reclaim (before Linux 2.4.9.2)
              (PowerPC  only)  If  this file is set to a nonzero value, the PowerPC htab (see kernel
              file Documentation/powerpc/ppc_htab.txt) is pruned each time the system hits the  idle
              loop.

       /proc/sys/kernel/keys/
              This  directory  contains various files that define parameters and limits for the key-
              management facility.  These files are described in keyrings(7).

       /proc/sys/kernel/kptr_restrict (since Linux 2.6.38)
              The value in this file determines whether kernel addresses are exposed via /proc files
              and other interfaces.  A value of 0 in this file  imposes  no  restrictions.   If  the
              value  is  1,  kernel pointers printed using the %pK format specifier will be replaced
              with zeros unless the user has the CAP_SYSLOG capability.  If the value is  2,  kernel
              pointers printed using the %pK format specifier will be replaced with zeros regardless
              of  the  user's  capabilities.  The initial default value for this file was 1, but the
              default was changed to 0 in Linux 2.6.39.   Since  Linux  3.4,  only  users  with  the
              CAP_SYS_ADMIN capability can change the value in this file.

       /proc/sys/kernel/l2cr
              (PowerPC  only)  This  file contains a flag that controls the L2 cache of G3 processor
              boards.  If 0, the cache is disabled.  Enabled if nonzero.

       /proc/sys/kernel/modprobe
              This file contains the pathname for the kernel module loader.  The  default  value  is
              /sbin/modprobe.   The file is present only if the kernel is built with the CONFIG_MOD‐
              ULES (CONFIG_KMOD in Linux 2.6.26 and earlier) option enabled.  It is described by the
              Linux kernel source file Documentation/kmod.txt (present only in Linux  2.4  and  ear‐
              lier).

       /proc/sys/kernel/modules_disabled (since Linux 2.6.31)
              A  toggle value indicating if modules are allowed to be loaded in an otherwise modular
              kernel.  This toggle defaults to off (0), but can be set true (1).  Once true, modules
              can be neither loaded nor unloaded, and the toggle cannot be set back to  false.   The
              file is present only if the kernel is built with the CONFIG_MODULES option enabled.

       /proc/sys/kernel/msgmax (since Linux 2.2)
              This file defines a system-wide limit specifying the maximum number of bytes in a sin‐
              gle message written on a System V message queue.

       /proc/sys/kernel/msgmni (since Linux 2.4)
              This  file  defines  the system-wide limit on the number of message queue identifiers.
              See also /proc/sys/kernel/auto_msgmni.

       /proc/sys/kernel/msgmnb (since Linux 2.2)
              This file defines a system-wide parameter used to initialize  the  msg_qbytes  setting
              for subsequently created message queues.  The msg_qbytes setting specifies the maximum
              number of bytes that may be written to the message queue.

       /proc/sys/kernel/ngroups_max (since Linux 2.6.4)
              This  is  a  read-only file that displays the upper limit on the number of a process's
              group memberships.

       /proc/sys/kernel/ns_last_pid (since Linux 3.3)
              See pid_namespaces(7).

       /proc/sys/kernel/ostype and /proc/sys/kernel/osrelease
              These files give substrings of /proc/version.

       /proc/sys/kernel/overflowgid and /proc/sys/kernel/overflowuid
              These files duplicate the files /proc/sys/fs/overflowgid and /proc/sys/fs/overflowuid.

       /proc/sys/kernel/panic
              This file gives read/write access to the kernel variable panic_timeout.   If  this  is
              zero, the kernel will loop on a panic; if nonzero, it indicates that the kernel should
              autoreboot  after  this  number of seconds.  When you use the software watchdog device
              driver, the recommended setting is 60.

       /proc/sys/kernel/panic_on_oops (since Linux 2.5.68)
              This file controls the kernel's behavior when an oops or BUG is encountered.  If  this
              file  contains 0, then the system tries to continue operation.  If it contains 1, then
              the system delays a few seconds (to give klogd time to record  the  oops  output)  and
              then  panics.   If  the  /proc/sys/kernel/panic file is also nonzero, then the machine
              will be rebooted.

       /proc/sys/kernel/pid_max (since Linux 2.5.34)
              This file specifies the value at which PIDs wrap around (i.e., the value in this  file
              is one greater than the maximum PID).  PIDs greater than this value are not allocated;
              thus,  the  value in this file also acts as a system-wide limit on the total number of
              processes and threads.  The default value for this file, 32768, results  in  the  same
              range  of PIDs as on earlier kernels.  On 32-bit platforms, 32768 is the maximum value
              for pid_max.  On 64-bit  systems,  pid_max  can  be  set  to  any  value  up  to  2^22
              (PID_MAX_LIMIT, approximately 4 million).

       /proc/sys/kernel/powersave-nap (PowerPC only)
              This  file contains a flag.  If set, Linux-PPC will use the "nap" mode of powersaving,
              otherwise the "doze" mode will be used.

       /proc/sys/kernel/printk
              See syslog(2).

       /proc/sys/kernel/pty (since Linux 2.6.4)
              This directory contains two files relating to the number of  UNIX  98  pseudoterminals
              (see pts(4)) on the system.

       /proc/sys/kernel/pty/max
              This file defines the maximum number of pseudoterminals.

       /proc/sys/kernel/pty/nr
              This read-only file indicates how many pseudoterminals are currently in use.

       /proc/sys/kernel/random/
              This  directory  contains  various  parameters  controlling  the operation of the file
              /dev/random.  See random(4) for further information.

       /proc/sys/kernel/random/uuid (since Linux 2.4)
              Each read from this read-only file returns a randomly generated  128-bit  UUID,  as  a
              string in the standard UUID format.

       /proc/sys/kernel/randomize_va_space (since Linux 2.6.12)
              Select  the address space layout randomization (ASLR) policy for the system (on archi‐
              tectures that support ASLR).  Three values are supported for this file:

              0      Turn ASLR off.  This is the default for architectures that don't support  ASLR,
                     and when the kernel is booted with the norandmaps parameter.

              1      Make the addresses of mmap(2) allocations, the stack, and the VDSO page random‐
                     ized.   Among  other things, this means that shared libraries will be loaded at
                     randomized addresses.  The text segment of PIE-linked  binaries  will  also  be
                     loaded  at  a  randomized address.  This value is the default if the kernel was
                     configured with CONFIG_COMPAT_BRK.

              2      (Since Linux 2.6.25) Also support heap randomization.  This value  is  the  de‐
                     fault if the kernel was not configured with CONFIG_COMPAT_BRK.

       /proc/sys/kernel/real-root-dev
              This file is documented in the Linux kernel source file Documentation/admin-guide/ini‐
              trd.rst (or Documentation/initrd.txt before Linux 4.10).

       /proc/sys/kernel/reboot-cmd (Sparc only)
              This  file  seems  to be a way to give an argument to the SPARC ROM/Flash boot loader.
              Maybe to tell it what to do after rebooting?

       /proc/sys/kernel/rtsig-max
              (Up to and including Linux 2.6.7; see setrlimit(2)) This file can be used to tune  the
              maximum number of POSIX real-time (queued) signals that can be outstanding in the sys‐
              tem.

       /proc/sys/kernel/rtsig-nr
              (Up to and including Linux 2.6.7.)  This file shows the number of POSIX real-time sig‐
              nals currently queued.

       /proc/pid/sched_autogroup_enabled (since Linux 2.6.38)
              See sched(7).

       /proc/sys/kernel/sched_child_runs_first (since Linux 2.6.23)
              If  this  file  contains  the  value  zero, then, after a fork(2), the parent is first
              scheduled on the CPU.  If the file contains a nonzero value, then the child is  sched‐
              uled  first  on  the  CPU.  (Of course, on a multiprocessor system, the parent and the
              child might both immediately be scheduled on a CPU.)

       /proc/sys/kernel/sched_rr_timeslice_ms (since Linux 3.9)
              See sched_rr_get_interval(2).

       /proc/sys/kernel/sched_rt_period_us (since Linux 2.6.25)
              See sched(7).

       /proc/sys/kernel/sched_rt_runtime_us (since Linux 2.6.25)
              See sched(7).

       /proc/sys/kernel/seccomp/ (since Linux 4.14)
              This directory provides additional seccomp information and  configuration.   See  sec‐
              comp(2) for further details.

       /proc/sys/kernel/sem (since Linux 2.4)
              This  file  contains  4  numbers  defining  limits for System V IPC semaphores.  These
              fields are, in order:

              SEMMSL The maximum semaphores per semaphore set.

              SEMMNS A system-wide limit on the number of semaphores in all semaphore sets.

              SEMOPM The maximum number of operations that may be specified in a semop(2) call.

              SEMMNI A system-wide limit on the maximum number of semaphore identifiers.

       /proc/sys/kernel/sg-big-buff
              This file shows the size of the generic SCSI device (sg) buffer.  You  can't  tune  it
              just  yet,  but  you  could change it at compile time by editing include/scsi/sg.h and
              changing the value of SG_BIG_BUFF.  However, there shouldn't be any reason  to  change
              this value.

       /proc/sys/kernel/shm_rmid_forced (since Linux 3.1)
              If  this  file is set to 1, all System V shared memory segments will be marked for de‐
              struction as soon as the number of attached processes falls to zero; in  other  words,
              it  is no longer possible to create shared memory segments that exist independently of
              any attached process.

              The effect is as though a shmctl(2) IPC_RMID is performed on all existing segments  as
              well as all segments created in the future (until this file is reset to 0).  Note that
              existing  segments  that are attached to no process will be immediately destroyed when
              this file is set to 1.  Setting this option will also destroy segments that were  cre‐
              ated,  but  never  attached,  upon termination of the process that created the segment
              with shmget(2).

              Setting this file to 1 provides a way of ensuring that all System V shared memory seg‐
              ments are counted against the resource usage and resource limits (see the  description
              of RLIMIT_AS in getrlimit(2)) of at least one process.

              Because  setting  this  file to 1 produces behavior that is nonstandard and could also
              break existing applications, the default value in this file is 0.  Set this file to  1
              only  if you have a good understanding of the semantics of the applications using Sys‐
              tem V shared memory on your system.

       /proc/sys/kernel/shmall (since Linux 2.2)
              This file contains the system-wide limit on the total number  of  pages  of  System  V
              shared memory.

       /proc/sys/kernel/shmmax (since Linux 2.2)
              This  file  can  be  used to query and set the run-time limit on the maximum (System V
              IPC) shared memory segment size that can be created.  Shared memory segments up  to  1
              GB are now supported in the kernel.  This value defaults to SHMMAX.

       /proc/sys/kernel/shmmni (since Linux 2.4)
              This  file specifies the system-wide maximum number of System V shared memory segments
              that can be created.

       /proc/sys/kernel/sysctl_writes_strict (since Linux 3.16)
              The value in this file determines how the file offset affects the behavior of updating
              entries in files under /proc/sys.  The file has three possible values:

              -1  This provides legacy handling, with no printk warnings.  Each write(2) must  fully
                  contain  the  value to be written, and multiple writes on the same file descriptor
                  will overwrite the entire value, regardless of the file position.

              0   (default) This provides the same behavior as for -1, but printk warnings are writ‐
                  ten for processes that perform writes when the file offset is not 0.

              1   Respect the file offset when  writing  strings  into  /proc/sys  files.   Multiple
                  writes  will  append  to  the  value  buffer.  Anything written beyond the maximum
                  length of the value buffer will be ignored.  Writes to numeric  /proc/sys  entries
                  must  always  be  at  file  offset  0 and the value must be fully contained in the
                  buffer provided to write(2).

       /proc/sys/kernel/sysrq
              This file controls the functions allowed to be invoked by the SysRq key.  By  default,
              the  file  contains  1  meaning that every possible SysRq request is allowed (in older
              kernel versions, SysRq was disabled by default, and you were required to  specifically
              enable  it  at  run-time, but this is not the case any more).  Possible values in this
              file are:

              0    Disable sysrq completely

              1    Enable all functions of sysrq

              > 1  Bit mask of allowed sysrq functions, as follows:
                     2  Enable control of console logging level
                     4  Enable control of keyboard (SAK, unraw)
                     8  Enable debugging dumps of processes etc.
                    16  Enable sync command
                    32  Enable remount read-only
                    64  Enable signaling of processes (term, kill, oom-kill)
                   128  Allow reboot/poweroff
                   256  Allow nicing of all real-time tasks

              This file is present only if the CONFIG_MAGIC_SYSRQ kernel configuration option is en‐
              abled.  For further  details  see  the  Linux  kernel  source  file  Documentation/ad‐
              min-guide/sysrq.rst (or Documentation/sysrq.txt before Linux 4.10).

       /proc/sys/kernel/version
              This file contains a string such as:

                  #5 Wed Feb 25 21:49:24 MET 1998

              The  "#5" means that this is the fifth kernel built from this source base and the date
              following it indicates the time the kernel was built.

       /proc/sys/kernel/threads-max (since Linux 2.3.11)
              This file specifies the system-wide limit on the number of threads (tasks) that can be
              created on the system.

              Since Linux 4.1, the value that can be written to threads-max is bounded.  The minimum
              value that can be written is 20.  The maximum value that can be written  is  given  by
              the constant FUTEX_TID_MASK (0x3fffffff).  If a value outside of this range is written
              to threads-max, the error EINVAL occurs.

              The  value  written  is checked against the available RAM pages.  If the thread struc‐
              tures would occupy too much (more than 1/8th) of the available RAM pages,  threads-max
              is reduced accordingly.

       /proc/sys/kernel/yama/ptrace_scope (since Linux 3.5)
              See ptrace(2).

       /proc/sys/kernel/zero-paged (PowerPC only)
              This  file  contains a flag.  When enabled (nonzero), Linux-PPC will pre-zero pages in
              the idle loop, possibly speeding up get_free_pages.

SEE ALSO
       proc(5), proc_sys(5)

Linux man-pages 6.7                          2023-09-30                           proc_sys_kernel(5)
proc_sys_kernel(5) □✕
NAME DESCRIPTION SEE ALSO

Generated by phpman v4.11.2-35-gf98a251 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-10-07 13:14 @216.73.217.162
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!

^_top_^