如何在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