You can configure several parameters or tunables of Linux (the kernel) to control its behavior, either at boot or on demand while the system is running. sysctl is a widely-used command-line utility for modifying or configuring kernel parameters at runtime. You can find the kernel tunables listed under the /proc/sys/ directory.
It is powered by procfs (proc file system), a pseudo file system in Linux and other Unix-like operating systems that provides an interface to kernel data structures. It presents information about processes and additional system information.
The following are 10 useful sysctl commands examples that you can use when administering a running Linux system. Note that you need root privileges to run the sysctl command, otherwise, use the sudo command when invoking it.
Table of Contents
sysctl Command Examples in Linux
In this guide, we will explain 10 sysctl practical command examples you can use on a Linux system.
1. List All Kernel Parameters in Linux
To list all currently available kernel parameters, run the sysctl command with the -a
or --all
flag as shown.
$ sudo sysctl -a OR $ sudo sysctl --all
The variables are displayed in this format:
<tunable class>.<tunable> = <value> </value></tunable></tunable>
For example,
kernel.ostype = Linux
3. List All Kernel Variable Names
To only print variable names without their values, use the -N
option as shown.
$ sudo sysctl -a -N
3. Find Specific Kernel Variables in Linux
To find a specific variable, you can filter the output of sysctl via the grep command, for example, to filter out any variable associated with memory management, you can run the following command:
$ sudo sysctl -a | grep memory OR $ sudo sysctl --all | grep memory
4. List All Kernel Variables Including Deprecated
sysctl command also shows deprecated variables along with the list of all available variables using the --deprecated
flag as shown.
$ sudo sysctl -a --deprecated OR $ sudo sysctl -a --deprecated | grep memory
5. List Specific Kernel Variable Value
To read a sysctl variable and its values, specify the variable name as an argument for the sysctl commands as follows. This example shows how to read the kernel.ostype
variable.
$ sudo sysctl kernel.ostype <strong>kernel.ostype = Linux</strong>
6. Write Kernel Variable Temporarily
To write variables temporarily, simply specify the variable in this format.
<tunable class>.<tunable>=<value> </value></tunable></tunable>
The following example shows how to increase the maximum size of the receive queue, which stores frames picked from the ring buffer of the NIC (Network Interface Card), once they are received from the network. The queue size can be modified using the net.core.netdev_max_backlog
variable as shown.
$ sudo sysctl net.core.netdev_max_backlog $ sudo sysctl net.core.netdev_max_backlog=1200 $ sudo sysctl net.core.netdev_max_backlog
7. Write Kernel Variable Permanently
sysctl can also write variables permanently in a configuration file. To achieve this, use the -w
option, and specify the configuration file the variable and its value will be appended to, in this case, it is /etc/sysctl.conf, the default sysctl configuration file:
$ sudo sysctl -w net.core.netdev_max_backlog=1200 >> /etc/sysctl.conf
To write files permanently in a custom, specify the location of the file as follows. Sometimes, you can fail to create a file in particular locations even when you invoke the sysctl command using the sudo command.
In such a case, switch to the root account (if you have the privileges) and run the command again as shown.
$ sudo sysctl -w net.core.netdev_max_backlog=1200 >> /etc/sysctl.d/10-test-settings.conf $ sudo su # sysctl -w net.core.netdev_max_backlog=1200 >> /etc/sysctl.d/10-test-settings.conf
Alternatively, you can create the new configuration file in /etc/sysctl.d/ directory as shown:
$ sudo vim /etc/sysctl.d/10-test-settings.conf
Then add the kernel parameters, in it one per line as shown.
net.core.netdev_max_backlog = 1200 user.max_net_namespaces = 63067 vm.overcommit_memory = 0
Then save the file and close it. To load settings from the custom file you have just created, use the -p
or --load
flag.
$ sudo sysctl -p /etc/sysctl.d/10-test-settings.conf OR $ sudo sysctl --load= /etc/sysctl.d/10-test-settings.conf
8. Reload sysctl.conf Variables in Linux
To reload settings from all system configuration files without rebooting, issue the following command.
$ sudo sysctl --system
The above command will read all system configuration files from these directories, in this order:
/run/sysctl.d/*.conf /etc/sysctl.d/*.conf /usr/local/lib/sysctl.d/*.conf /usr/lib/sysctl.d/*.conf /lib/sysctl.d/*.conf /etc/sysctl.conf
9. Reload Settings from Custom Configuration Files
You can also reload variable settings from a custom sysctl configuration file as shown.
$ sudo sysctl -p/etc/sysctl.d/10-test-settings.conf OR $ sudo sysctl --load= /etc/sysctl.d/10-test-settings.conf
10. Reload Settings that Match Pattern
To only apply settings that match a certain pattern, use the -r
or --pattern
as follows. Note that the pattern uses extended regular expression syntax, here are some examples:
$ sudo sysctl --system --pattern '^net.ipv6' $ sudo sysctl --system -r memory
In this guide, we have explained 10 sysctl command examples you can use to manage a running Linux system. For more information, read the sysctl man page (man sysctl).
The above is the detailed content of How to Configure Kernel Parameters Using sysctl Command. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

When encountering DNS problems, first check the /etc/resolv.conf file to see if the correct nameserver is configured; secondly, you can manually add public DNS such as 8.8.8.8 for testing; then use nslookup and dig commands to verify whether DNS resolution is normal. If these tools are not installed, you can first install the dnsutils or bind-utils package; then check the systemd-resolved service status and configuration file /etc/systemd/resolved.conf, and set DNS and FallbackDNS as needed and restart the service; finally check the network interface status and firewall rules, confirm that port 53 is not

As a system administrator, you may find yourself (today or in the future) working in an environment where Windows and Linux coexist. It is no secret that some big companies prefer (or have to) run some of their production services in Windows boxes an

In Linux systems, 1. Use ipa or hostname-I command to view private IP; 2. Use curlifconfig.me or curlipinfo.io/ip to obtain public IP; 3. The desktop version can view private IP through system settings, and the browser can access specific websites to view public IP; 4. Common commands can be set as aliases for quick call. These methods are simple and practical, suitable for IP viewing needs in different scenarios.

Built on Chrome’s V8 engine, Node.JS is an open-source, event-driven JavaScript runtime environment crafted for building scalable applications and backend APIs. NodeJS is known for being lightweight and efficient due to its non-blocking I/O model and

Linuxcanrunonmodesthardwarewithspecificminimumrequirements.A1GHzprocessor(x86orx86_64)isneeded,withadual-coreCPUrecommended.RAMshouldbeatleast512MBforcommand-lineuseor2GBfordesktopenvironments.Diskspacerequiresaminimumof5–10GB,though25GBisbetterforad

Written in C, MySQL is an open-source, cross-platform, and one of the most widely used Relational Database Management Systems (RDMS). It’s an integral part of the LAMP stack and is a popular database management system in web hosting, data analytics,

Ubuntu has long stood as a bastion of accessibility, polish, and power in the Linux ecosystem. With the arrival of Ubuntu 25.04, codenamed “Plucky Puffin”, Canonical has once again demonstrated its commitment to delivering a

MongoDB is a high-performance, highly scalable document-oriented NoSQL database built to manage heavy traffic and vast amounts of data. Unlike traditional SQL databases that store data in rows and columns within tables, MongoDB structures data in a J
