---
name: "systeroid"
section: "8"
platform: "linux"
package: "systeroid"
version: "0.4.6-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/systeroid"
---

# systeroid(8)

configure kernel parameters at runtime

## NAME

systeroid - configure kernel parameters at runtime

## SYNOPSIS

**systeroid** \[options\] \[variable\[=value\] ...\] --load\[=\<file\>\]

## DESCRIPTION

**systeroid** is used to modify kernel parameters at runtime.  The parameters available are those listed under /proc/sys/.  Procfs is required for **systeroid** support in Linux.  You can use **systeroid** to both read and write sysctl data.

## PARAMETERS

- *variable*

  The name of a key to read from.  An example is kernel.ostype.  The '/' separator is also accepted in place of a '.'.

- *variable*=*value*

  To set a key, use the form *variable*=*value* where *variable* is the key and *value* is the value to set it to.  If the value contains quotes or characters which are parsed by the shell, you may need to enclose the value in double quotes.

- **-a**, **--all**

  Display all variables currently available. (**-A**,**-X**)

- **-T**, **--tree**

  Display the variables in a tree-like format.

- **-J**, **--json**

  Display the variables in JSON format.

- **--deprecated**

  Include deprecated parameters to **--all** values listing.

- **-e**, **--ignore**

  Use this option to ignore errors about unknown keys.

- **-N**, **--names**

  Use this option to only print the names.  It may be useful with shells that have programmable completion.

- **-n**, **--values**

  Use this option to disable printing of the key name when printing values.

- **-b**, **--binary**

  Print only variable values without new line.

- **-p**\[*FILE*\], **--load**\[=*FILE*\]

  Load in sysctl settings from the file specified or /etc/sysctl.conf if none given.  Specifying - as filename means reading data from standard input.

- **-S**, **--system**

  Load settings from all system configuration files. See the **CONFIGURATION** section below.

- **-r**, **--pattern** \<expr\>

  Only apply settings that match *pattern*. The *pattern* uses extended regular expression syntax.

- **-q**, **--quiet**

  Use this option to not display the values set to stdout.

- **-w**, **--write**

  Use this option when all arguments prescribe a key to be set.

- **-E**, **--explain**

  Use this option to print a detailed explanation of a variable.

- **-D**, **--docs** \<path\>

  Use this option to set a custom path for the kernel documentation.

- **-P**, **--no-pager**

  Use this option to disable piping output into a pager.

- **-v**, **--verbose**

  Use this option to enable verbose logging.

- **--tui**

  Use this option to show the terminal user interface. **systeroid-tui** binary should be present in $PATH. See **[systeroid-tui(8)](/systeroid-tui/8.md)** for more information.

- **-h**, **--help**

  Display help text and exit. (**-d**)

- **-V**, **--version**

  Display version information and exit.

## EXAMPLES

systeroid -a\
 systeroid -t\
 systeroid vm user\
 systeroid -n kernel.hostname\
 systeroid kernel.domainname="example.com"\
 systeroid dmesg\_restrict=0\
 systeroid -p /etc/sysctl.conf\
 systeroid -r 'net.ipv4.conf.(eth\|wlan)0.arp'\
 systeroid --names --tree --pattern 'kernel.\*\_max$'\
 systeroid --explain oom\_dump\_tasks\
 systeroid -E user.max\_user\_namespaces --docs /usr/share/doc/linux\
 systeroid --no-pager -E kernel.ctrl-alt-del\
 systeroid --tui

## DEPRECATED PARAMETERS

The **base\_reachable\_time** and **retrans\_time** are deprecated.  The **systeroid** command does not allow changing values of these parameters.  Users who insist to use deprecated kernel interfaces should push values to /proc file system by other means.  For example:

echo 256 \> /proc/sys/net/ipv6/neigh/eth0/base\_reachable\_time

## CONFIGURATION

**sysctl.conf** is a simple file containing sysctl values to be read in and set by **systeroid**. The syntax is simply as follows:

```
# comment
; comment
token = value
```

Note that blank lines are ignored, and whitespace before and after a token or value is ignored, although a value can contain whitespace within.  Lines which begin with a *#* or *;* are considered comments and ignored.

If a line begins with a single -, any attempts to set the value that fail will be ignored.

### EXAMPLE

```
# sysctl.conf sample
#
  kernel.domainname = example.com
; this one has a space which will be written to the sysctl!
  kernel.modprobe = /sbin/mod probe
```

### FILES

When using the **--system** option, **systeroid** will read files from directories in the following list.

/etc/sysctl.d/\*.conf\
 /run/sysctl.d/\*.conf\
 /usr/local/lib/sysctl.d/\*.conf\
 /usr/lib/sysctl.d/\*.conf\
 /lib/sysctl.d/\*.conf\
 /etc/sysctl.conf

## SEE ALSO

[**systeroid-tui**(8)](/systeroid-tui/8.md)

## AUTHOR

Orhun Parmaksız ⟨orhunparmaksiz@gmail.com⟩

## COPYRIGHT

Copyright © 2022-2024 Orhun Parmaksız

Licensed under either of Apache License Version 2.0 or The MIT License at your option.

## REPORTING BUGS

Report bugs at \<https://github.com/orhun/systeroid/issues\> or contact the author via email.

See the project homepage at \<https://github.com/orhun/systeroid\> for full documentation.
