Linux设置sysctl变量
时间:2020-01-09 10:40:42 来源:igfitidea点击:
如何使用命令行选项在Debian/Ubuntu或任何Linux发行版下设置sysctl变量(内核参数)?您需要使用sysctl命令,该命令用于在运行时修改内核参数。可用的参数是/proc/sys /下列出的参数。 Linux中的sysctl支持需要Procfs。 您可以使用sysctl命令读取和写入sysctl变量。
您必须以root用户身份登录才能在Linux操作系统上使用以下任何命令。
显示Linux内核参数
语法为:
# sysctl variable #################################### ### Display all sysctl variables ### #################################### # sysctl -a # sysctl -a | more # sysctl -a | grep 'something' # sysctl -a | grep memory
输出示例:
vm.memory_failure_early_kill = 0 vm.memory_failure_recovery = 1 vm.overcommit_memory = 0
要查看名为kernel.hostname的内核变量的值,请执行:
# sysctl -n kernel.hostname
如何设置新值?
可以通过以下三种方法为给定的内核参数设置新值:
方法1:通过procfs设置值
您可以使用标准echo命令将数据写入变量(此临时更改):
# echo "value" > /proc/sys/location/variable
方法2:在命令行上临时
要更改sysctl设置时,请将sysctl命令与-w选项一起使用:
sysctl -w variable=value
方法#3:配置文件/etc/sysctl.conf
这是推荐的方式。
首先打开/etc/sysctl.conf文件,执行:
# vi /etc/sysctl.conf
现在增加价值:
variable = value
关闭并保存更改。
执行以下命令以从文件/etc/sysctl.conf文件加载sysctl设置:
# sysctl -p
或者
# sysctl -p /etc/sysctl.conf
最后一种方法将在引导时从/etc/sysctl.conf文件永久加载设置。
阅读sysctl的手册页以获取信息:
$ man sysctl