Sysctl Linux 命令Sysctl Linux 命令Sysctl Linux 命令Sysctl Linux 命令
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

Sysctl Linux 命令

sysctl 对于任何 Linux 管理员来说都是一个有用的工具。它允许读取和写入 sysctl 变量。有了它,您可以在运行时修改系统的内核参数。 Linux内核是操作系统的核心,控制着不同的系统服务。内核参数可以在三个实例中设置:内核构建期间、系统启动时和运行时。 /proc/sys/ 包含内核参数。我们将看到如何使用sysctl命令修改Linux内核参数

使用 sysctl Linux 命令

sysctl 使用 /proc/sys 目录中的文件来修改内核参数。您可以列出目录的内容以查看不同的文件夹。

sysctl:显示内核参数

使用“-a”或“-all”标志查看所有配置的内核参数。

$ sysctl -a

所有配置将显示在一个长列表中,每行显示参数及其值。

前面的列表可能很难理解,但是有一种方法可以通过检查单个参数的值来缩小范围。您可以将参数的名称传递给命令并获取其具体值。例如,您可以使用以下命令获取内核主机名和交换空间,它定义系统使用交换空间的频率。

$ sysctl kernel.hostname
$ sysctl vm.swappiness

通过检索包含该输出的文件的内容可以获得相同的输出。您只需要将“斜杠”替换为“点”。

例如,使用以下命令获取之前显示的相同值:

或者,您可以通过提供匹配的单词,按 grep 特定的内核参数过滤输出。例如,要过滤所有 ipv4 输出,您可以使用以下命令:

sysctl:修改内核参数

作为管理员,sysctl 允许您永久或临时修改内核参数。

临时修改内核参数的语法为:

$ sysctl -w [parameter=value]

请注意,如果该值包含特殊字符或空格,则应将其用双引号引起来。此外,设置的参数在下次重启后会重置为初始值。

我们以 TCP Fast Open 为例,它可以加快两个设备之间 TCP 连接的加载速度。默认情况下,它是启用的。要禁用它,请使用以下命令。您应该具有管理员权限才能使其工作。另外,请确保参数和值之间没有空格。

$ sudo sysctl -w net.ipv4.tcp_fastopen=0

我们看到这些值从启用的“1”修改为禁用的“0”。

如果要永久设置相同的参数,则需要修改 /etc/sysctl.conf 或 /etc 中的参数>/sysctl.d/99-custom.conf 目录。您可以使用编辑器打开文件或使用echo直接添加配置。

$ echo 0 > /proc/sys/net/ipv4/tcp_fastopen=0

执行上一条命令将永久修改参数。

您还可以在配置文件中添加net.ipv4.tcp_fastopen。

$ sudo nano /etc/sysctl.d/99-systemctl.conf

添加参数及其值将在每次系统启动时加载。

系统默认加载/etc/sysctl.conf文件中的配置。但是,您可以使用“-p”选项加载另一个配置文件,例如我们之前修改的配置文件。

$ sysctl -p /etc/sysctl.d/99-systemctl.conf

进行永久性内核更改时请务必小心,以避免使内核不稳定。也就是说,任何时候您需要修改参数,请使用本文中突出显示的语法或直接从配置文件中修改它。

结论

Linux 内核为 Linux 操作系统提供动力。如果您是 Linux 系统管理员,修改内核参数以适应各种任务是您工作的一部分。幸运的是,这篇文章介绍了如何使用 sysctl Linux 命令来实现这一点。

©2015-2025 艾丽卡 support@alaica.com