如何在Linux上重新加载sysctl.conf变量

时间:2020-01-09 10:43:12  来源:igfitidea点击:

如何在不重新启动服务器的情况下重新加载所有sysctl变量?

sysctl命令用于在运行时修改Linux内核变量。
使用procfs从/proc/sys /位置读取和写入变量。
定义变量的语法如下:

variable=value

从命令行读取变量

输入以下命令

$ sysctl kernel.ostype

输出示例:

kernel.ostype = Linux

要查看所有变量,请通过-a选项:

$ sysctl -a
$ sysctl -a | grep kernel
$ sysctl -a | more

输出示例:

abi.vsyscall32 = 1
crypto.fips_enabled = 0
debug.exception-trace = 1
debug.kprobes-optimization = 1
dev.hpet.max-user-freq = 64
dev.mac_hid.mouse_button2_keycode = 97
dev.mac_hid.mouse_button3_keycode = 100
dev.mac_hid.mouse_button_emulation = 0
dev.raid.speed_limit_max = 200000
dev.raid.speed_limit_min = 1000
dev.scsi.logging_level = 0
fs.aio-max-nr = 65536
fs.aio-nr = 5352
fs.binfmt_misc.status = enabled
fs.dentry-state = 1076563	1034844	45	0	0	0
fs.dir-notify-enable = 1
fs.epoll.max_user_watches = 418058
fs.file-max = 204059
fs.file-nr = 1664	0	204059
fs.inode-nr = 280530	70402
fs.inode-state = 280530	70402	0	0	0	0	0
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 128
fs.inotify.max_user_watches = 8192
fs.lease-break-time = 45
fs.leases-enable = 1
fs.mqueue.msg_default = 10
fs.mqueue.msg_max = 10
fs.mqueue.msgsize_default = 8192
fs.mqueue.msgsize_max = 8192
fs.mqueue.queues_max = 256
fs.nfs.nfs_congestion_kb = 45760
fs.nfs.nfs_mountpoint_timeout = 500
fs.nfs.nlm_grace_period = 0
fs.nfs.nlm_tcpport = 0
fs.nfs.nlm_timeout = 10
.....
..
..
vm.page-cluster = 3
vm.panic_on_oom = 0
vm.percpu_pagelist_fraction = 0
vm.scan_unevictable_pages = 0
vm.stat_interval = 1
vm.swappiness = 60
vm.user_reserve_kbytes = 63568
vm.vfs_cache_pressure = 100
vm.zone_reclaim_mode = 0

从命令行写变量

语法为:

# sysctl -w variable=value

要为IPv4启用数据包转发,请执行:

# sysctl -w net.ipv4.ip_forward=1

从所有系统配置文件重新加载设置

执行以下命令以从配置文件中重新加载设置,而无需重新启动该框:

# sysctl --system

从以下所有系统配置文件中读取设置:

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

永久配置

您需要编辑/etc/sysctl.conf文件以设置系统变量:

# vi /etc/sysctl.conf

修改或者添加文件。
关闭并保存文件。
要从指定的文件或者/etc/sysctl.conf中加载sysctl设置(如果未提供),请执行:

# sysctl -p