跟我学Linux之使用sysctl查看和修改内核参数

subtitle 柳林娱乐站08-04 09:34

作为一个Linux系统管理员,有时您可能需要修改默认内核的行为。例如,您可能需要启用神奇的SysRq键,或者增加内核将接受的连接数量。内核参数可以在构建内核时、系统引导时或运行时设置。

本文解释如何使用sysctl命令在运行时查看和修改内核参数

打开网易新闻 查看更多图片

使用sysctl查看内核参数

使用-a选项调用sysctl命令来查看当前所有内核参数:

# sysctl -a

这将输出一个类似如下的大列表,其中每行包含参数的名称及其值:

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

所有用户都可以查看当前内核参数;只有根用户可以修改他们的值

您可以通过将参数名作为参数传递给sysctl来检查单个参数的值。

例如,要检查当前的swappiness值,您需要键入:

# sysctl vm.swappiness

输出:

vm.swappiness = 60

Swappiness是一个Linux内核属性,它定义系统使用交换空间的频率。

sysctl命令从/proc/sys目录读取信息。sys是一个虚拟目录,其中包含可以用来查看和设置当前内核参数的文件对象。

您还可以通过显示适当文件的内容来查看参数值。唯一的区别是文件的表示方式。例如,两个sysctl vm。swappiness和cat /proc/sys/vm/swappiness将给出相同的输出。在使用sysctl时,目录斜线被替换为点,并且假设procc .sys部分。

使用sysctl修改内核参数

要在运行时设置内核参数,请运行sysctl命令,后面跟着参数名和值,格式如下:

# sysctl -w parameter=value

如果值包含空格或特殊字符,请将值括在双引号中。您还可以在同一个命令中传递多个参数=值对。

例如,要启用IPv4包转发,运行:

# sysctl -w net.ipv4.ip_forward=1

更改会立即生效,但不是持久的。系统重新启动后,将加载默认值。

要永久性地设置参数,您需要将设置写入/etc/sysctl.conf

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

特别声明:本文为网易自媒体平台“网易号”作者上传并发布,仅代表该作者观点。网易仅提供信息发布平台。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.
打开网易新闻,阅读体验更佳
大家都在看