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)

Hot Topics

Are you looking for good software to write mathematical equations? If so, this article provides the top 5 equation editors that you can easily install on your favorite Linux distribution.In addition to being compatible with different types of mathema

Linux administrators should be familiar with the command-line environment. Since GUI (Graphical User Interface) mode in Linux servers is not commonly installed.SSH may be the most popular protocol to enable Linux administrators to manage the servers

PPA is an important tool for Ubuntu users to expand their software sources. 1. When searching for PPA, you should visit Launchpad.net, confirm the official PPA in the project official website or document, and read the description and user comments to ensure its security and maintenance status; 2. Add PPA to use the terminal command sudoadd-apt-repositoryppa:/, and then run sudoaptupdate to update the package list; 3. Manage PPAs to view the added list through the grep command, use the --remove parameter to remove or manually delete the .list file to avoid problems caused by incompatibility or stopping updates; 4. Use PPA to weigh the necessity and prioritize the situations that the official does not provide or require a new version of the software.

Gogo is a remarkable tool to bookmark directories inside your Linux shell. It helps you create shortcuts for long and complex paths in Linux. This way, you no longer need to type or memorize lengthy paths on Linux.For example, if there's a directory

LXD is described as the next-generation container and virtual machine manager that offers an immersive for Linux systems running inside containers or as virtual machines. It provides images for an inordinate number of Linux distributions with support

How to quickly generate test files of a specified size? It can be achieved using command line tools or graphical software. On Windows, you can use fsutilfilecreatenew file name size to generate a file with a specified byte; macOS/Linux can use ddif=/dev/zeroof=filebs=1Mcount=100 to generate real data files, or use truncate-s100M files to quickly create sparse files. If you are not familiar with the command line, you can choose FSUtilGUI, DummyFileGenerator and other tool software. Notes include: pay attention to file system limitations (such as FAT32 file size upper limit), avoid overwriting existing files, and some programs may

Node Version Manager (NVM) is a simple bash script that helps manage multiple Node.js versions on your Linux system. It enables you to install various Node.js versions, view available versions for installation, and check already installed versions.NV

The key to installing dual systems in Linux and Windows is partitioning and boot settings. 1. Preparation includes backing up data and compressing existing partitions to make space; 2. Use Ventoy or Rufus to make Linux boot USB disk, recommend Ubuntu; 3. Select "Coexist with other systems" or manually partition during installation (/at least 20GB, /home remaining space, swap optional); 4. Check the installation of third-party drivers to avoid hardware problems; 5. If you do not enter the Grub boot menu after installation, you can use boot-repair to repair the boot or adjust the BIOS startup sequence. As long as the steps are clear and the operation is done properly, the whole process is not complicated.
