专栏首页ITCoderLinux 下的 Sysctl 命令

Linux 下的 Sysctl 命令

文章目录

  • 一、使用sysctl查看 Kernel 参数
  • 二、使用sysctl来修改内核参数
  • 总结

作为一个 Linux 系统管理员,有时候你需要修改默认的内核行为。例如,你可能想要启用 SysRq 或者增加 Kernel 能够接受的连接数量。 内核参数可以在构建内核的时候,在系统启动时,或者在运行时进行设置。

本文讲解如何使用sysctl命令在运行时进行查看并且修改内核参数。

一、使用sysctl查看 Kernel 参数

想要查看所有的当前内核参数,运行 sysctl 命令加上-a选项:

sysctl -a

这将会输出一个很大的列表,看起来像下面这样,每行包含一个参数和对应的值:

abi.vsyscall32 = 1
debug.exception-trace = 1
debug.kprobes-optimization = 1
...

所有用户可以查看当前的内核参数;仅仅 root 用户可以修改它们的值。

通过将参数名传递给sysctl,你可以检查单个参数的取值。例如,想要检查当前的 swappiness 取值,你可以输入:

sysctl vm.swappiness

输出:

vm.swappiness = 60

Swappiness 是一个内核属性,它定义了系统多长时间会使用swap space

这个sysctl命令将会从/proc/sys目录下读取信息。 /proc/sys是一个虚拟目录,它包含文件对象,可以被用来查看或者设置当前的内核参数。

你也可以通过显示合适的文档,来查看参数值。唯一的不同就是文件如何被展示。例如,sysctl vm.swappinesscat /proc/sys/vm/swappiness都将给出同样的输出。当使用sysctl时,目录中的斜杠将会被点所替代,并且proc.sys部分被去掉了。

二、使用sysctl来修改内核参数

想要在系统运行时设置一个内核参数,按照下面的格式运行sysctl命令加上参数名和取值:

sysctl -w parameter=value

如果这个取值包含空格或者特殊符号,使用双引号包裹取值。你还可以在同一个命令中传递多个parameter=value 键值对。

在生产系统中修改内核设置必须非常小心,这可能会使得内核不稳当,并且你需要重启系统。

例如,想要允许 IPV4 包转发,你需要运行:

sysctl -w net.ipv4.ip_forward=1

这个修改立即生效,但是它不是持久化的。在系统重启后,默认值会被重新加载。

想要永久修改一个参数,你需要修改设置到文件/etc/sysctl.conf 或者在/etc/sysctl.d目录下的另外一个配置文件:

sysctl -w net.ipv4.ip_forward=1 >> /etc/sysctl.conf

另外修改参数的方式就是使用echo命令将设置写入到/proc/sys目录下的文件中。例如,不使用上面的命令,你还可以用:

echo 1 > /proc/sys/net/ipv4/ip_forward

这个-p选项允许你从一个配置文件中加载设置:

sysctl -p /etc/sysctl.d/file_name.conf

如果没有给出文件,那么 sysctl/etc/sysctl.conf文件中读取。

总结

sysctl 命令允许你查看并且修改 Linux 内核参数。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux的sysctl命令

    有时候我们需要在终端下查看系统的相关信息,就需要用到sysctl命令,例如我的电脑是Mac,我要查看CPU的相关信息,命令和输出结果如下:

    Tyan
  • Linux利用Sysctl命令调整内核参数

    sysctl 命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录 /proc/sys 中。它包含一些TCP/IP堆栈和虚拟内存系统的高级选项,...

    砸漏
  • Linux内核管理

    (1)Linux系统的组成部分是内核+根文件系统。内核负责进程管理、内存管理、网络协议栈、文件系统、驱动程序和安全功能。 运行中的系统环境可分为两层:内核空间...

    魏晓蕾
  • Linux:谁能打开多少个文件,可以精准控制!只需这行配置。

    在Linux中,可以更改打开文件的最大数量。使用ulimit命令修改这个限制值,从而控制文件资源的访问阈值。

    程序员小助手
  • Linux下的 Fsck 命令

    fsck(file system check)是一个命令行工具,它允许你在一个或者多个 Linux 文件系统进行连续监测和交互式修复操作。

    雪梦科技
  • Linux 下的 Stat 命令

    stat接受一个或者多个输入的FILE,和一系列的选项,用来控制命令的行为和输出结果。

    雪梦科技
  • Linux下的 W 命令

    w是一个命令行工具,它可以展示当前登录用户信息,并且每个用户正在做什么。它同时展示以下信息:系统已经运行多长时间,当前时间,和系统负载。

    雪梦科技
  • Linux下的 Whoami 命令

    就像名字显示的那样,whoami命令打印出当前用户的用户名。换句话说,它显示当前登录用户的名字。

    雪梦科技
  • Linux 下的 Last 命令

    last是一个命令行工具,它用来展示关于系统用户最后登录会话的信息。这个命令非常有用,尤其是当你需要追踪用户活动,或者调查一个可能的安全入侵问题。

    雪梦科技

扫码关注云+社区

领取腾讯云代金券