Linux中永久修改内核参数的方法-----详解
程序员文章站
2024-01-23 20:02:34
...
一. 修改内核参数
通过修改 /etc/sysctl.conf 文件,来调整内核参数,下面是几个实例:
[[email protected] ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 //开启内核路由转发功能(通过0或者1设置开关)
net.ipv4.icmp_echo_ignore_all = 1 //禁止所有的icmp回包(禁止其他主机ping本机)功能
fs.file-max = 108248 //调整所有的进程可以打开的文件总量
[[email protected] ~]# sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.icmp_echo_ignore_all = 1
fs.file-max = 108248
注意:通过该文件修改的内核参数不会立即生效,修改完成后,使用sysctl -p命令可以使这些设置立即生效.
二. 查看已加载的内核模块
lsmod命令用来显示当前Linux内核模块状态。输出会显示三列内容分别为模块名称,占用内存大小,是否在被使用,如果第三列为0则该模块可以随时卸载,非0则无法卸载。
[[email protected] ~]# lsmod
Module Size Used by
iosf_mbi 14990 0
kvm_intel 174841 0
kvm 578518 1 kvm_intel
irqbypass 13503 1 kvm
crc32_pclmul 13133 0
ghash_clmulni_intel 13273 0
...
三. 加载与卸载内核模块
modprobe命令可以动态加载与卸载内核模块:
[[email protected] ~]# modprobe -r iosf_mbi //动态卸载iosf_mbi模块
[[email protected] ~]# modprobe iosf_mbi //动态加载iosf_mbi模块
[[email protected] ~]# lsmod |grep iosf_mbi //查看该模块是否加载成功
iosf_mbi 14990 0
modinfo命令可以查看内核模块信息:
[[email protected] ~]# modinfo iosf_mbi
filename: /lib/modules/3.10.0-862.el7.x86_64/kernel/arch/x86/platform/intel/iosf_mbi.ko.xz
license: GPL v2
description: IOSF Mailbox Interface accessor
author: David E. Box <[email protected]>
retpoline: Y
rhelversion: 7.5
srcversion: A25706C2203F890E635F139
alias: pci:v00008086d00000958sv*sd*bc*sc*i*
alias: pci:v00008086d00002280sv*sd*bc*sc*i*
alias: pci:v00008086d00000F00sv*sd*bc*sc*i*
depends:
intree: Y
vermagic: 3.10.0-862.el7.x86_64 SMP mod_unload modversions
signer: CentOS Linux kernel signing key
sig_key: 3A:F3:CE:8A:74:69:6E:F1:BD:0F:37:E5:52:62:7B:71:09:E3:2B:96
sig_hashalgo: sha256
如果希望开机自动挂载内核模块,则需要将modprobe命令写入/etc/rc.d/rc.local文件中,或通过修改
/etc/modprobe.d/目录下的相关配置文件实现:
[[email protected] ~]# echo "modprobe iosf_mbi" >> /etc/rc.d/rc.local //将命令追加至该配置文件