修改内核参数

本文档详细介绍了如何在Linux系统中调整内核参数以优化系统性能,包括内存、网络、文件系统等关键领域的参数设置。同时,讲解了通过sysctl.conf进行永久性配置的方法,以及如何使用modinfo和modprobe管理模块参数。

修改内核参数笔记
https://www.cnblogs.com/tolimit/p/5065761.html内核参数列表
如果没有网络,可以下载一个手册,在手册里看
vm–内存参数列表
kernel–内核参数列表
fs–文件系统参数列表
net–网络参数列表
dev–系统设备
/proc/sys --修改的参数会保存在内存,重启后失效,永久生效统一修改的配置文件:sysctl.conf #永久生效
net.ipv4.icmp_echo_ignore_all=0

[root@localhost ipv4]# cat icmp_echo_ignore_all    	**#临时生效**
0
[root@localhost ipv4]# pwd
/proc/sys/net/ipv4

1)[root@localhost ipv4]# echo 1 > icmp_echo_ignore_all 
2)#sysctl -w net.ipv4.icmp_echo_ignore_all=1			**#临时生效**

注意点:
sysctl -a 显示所有的系统参数
sysctl -p 载入sysctl配置文件 如-p后未指定路径,则载入 /etc/sysctl.conf

手册:用于没有网络又想知道各参数的意义
kernel-doc

#yum -y install kernel-doc	#下载书册相关的包  所有关于内核的文档都在这
[root@localhost sysctl]# ls
00-INDEX  abi.txt  fs.txt  kernel.txt  net.txt  README  sunrpc.txt  user.txt  vm.txt
[root@localhost sysctl]# pwd
/usr/share/doc/kernel-doc-3.10.0/Documentation/sysctl
networking/ip-sysctl.txt:icmp_echo_ignore_all - BOOLEAN
networking/ip-sysctl.txt:icmp_echo_ignore_broadcasts - BOOLEAN
[root@localhost Documentation]# grep -R icmp_echo *
[root@localhost Documentation]# vim networking/ip-sysctl.txt   #找到相关参数的解释

另一种获取模块信息的方法: modinfo
模块的基本信息:文件名称,协议,描述,参数

  [root@localhost Documentation]# modinfo usb_storage | head -3
    filename:       /lib/modules/3.10.0-862.el7.x86_64/kernel/drivers/usb/storage/usb-storage.ko.xz
    license:        GPL
    description:    USB Mass Storage driver for Linux
    [root@localhost Documentation]# modinfo usb_storage | head -6
    filename:       /lib/modules/3.10.0-862.el7.x86_64/kernel/drivers/usb/storage/usb-storage.ko.xz
    license:        GPL
    description:    USB Mass Storage driver for Linux
    author:         Matthew Dharm <mdharm-usb@one-eyed-alien.net>
    retpoline:      Y
    rhelversion:    7.5

#modinfo -p 模块名
只显示模块的参数,方便直接修改

[root@localhost Documentation]# modinfo -p usb_storage
option_zero_cd:ZeroCD mode (1=Force Modem (default), 2=Allow CD-Rom (uint)
swi_tru_install:TRU-Install mode (1=Full Logic (def), 2=Force CD-Rom, 3=Force Modem) (uint)
delay_use:seconds to delay before using a new device (uint)
quirks:supplemental list of device IDs and their quirks (string)

[root@localhost module]# pwd
/sys/module #模块放置的位置
/sys/module/模块名/parameters #固定路径
操作:
[root@localhost parameters]# modprobe usb_storage #加载模块
[root@localhost parameters]# cd /sys/module/usb_storage/parameters
[root@localhost parameters]# ls
delay_use option_zero_cd quirks swi_tru_install
以delay_use为例:
1.临时修改:

[root@localhost parameters]# echo 1 > delay_use 

2.永久修改

[root@localhost parameters]# cd /etc/modprobe.d/
[root@localhost modprobe.d]# ls
dccp-blacklist.conf  firewalld-sysctls.conf  lockd.conf  mlx4.conf  truescale.conf  tuned.conf

在/etc/modprobe.d/下写配置文件,以.conf结尾即可,注意格式
options 模块名 参数值
for example

[root@localhost modprobe.d]# vim usb_storage.conf
[root@localhost modprobe.d]# cat usb_storage.conf
options usb_storage delay_use=5    #添加设备后延迟5秒使用

使用RHEL自带的命令直接调优 tuned
1,静态调优

[root@localhost modprobe.d]# tuned-adm list #列出所有优化的方案
[root@localhost modprobe.d]# tuned-adm active #当前用户在使用的调优方案
Current active profile: balanced
[root@localhost modprobe.d]# tuned-adm recommend #系统推荐的方案
balanced
[root@localhost modprobe.d]# tuned-adm off#关闭调优
[root@localhost modprobe.d]# tuned-adm profile balanced #加载调优方案
[root@localhost modprobe.d]# tuned-adm active 
Current active profile: balanced

2.动态调优
动态调优默认是被禁止的,修改配置文件开启,开启动态后,tuned默认每隔10秒调节一次

[root@localhost tuned]# ls
active_profile  bootcmdline  profile_mode  recommend.d  tuned-main.conf
[root@localhost tuned]# pwd
/etc/tuned
[root@localhost tuned]# vim tuned-main.conf
dynamic_tuning = 0 ---> 1#将参数改为1,启动动态调优

调优频率可以修改

 [root@localhost tuned]# vim tuned-main.conf
 update_interval = 10 ----->15s
### 修改 CentOS 中的内核参数 在 CentOS 系统中,可以通过编辑 `/etc/sysctl.conf` 文件来永久修改内核参数。以下是具体的操作方法: #### 编辑 `sysctl.conf` 文件 使用文本编辑器打开 `/etc/sysctl.conf` 文件,例如通过 Vim 进行编辑: ```bash vim /etc/sysctl.conf ``` #### 添加或修改内核参数 根据需求,在文件中添加相应的内核参数配置项。例如,可以添加以下内容[^1]: ```plaintext fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 net.ipv4.tcp_wmem = 262144 262144 262144 net.ipv4.tcp_rmem = 4194304 4194304 4194304 ``` #### 应用更改 保存并关闭文件后,运行以下命令使新配置生效: ```bash sysctl -p ``` 此命令会重新加载 `/etc/sysctl.conf` 配置文件中的设置。 #### 查看当前内核参数值 如果需要查看某个特定内核参数的当前值,可以使用以下命令[^2]: ```bash sysctl 参数名 ``` 例如,要查看 `fs.file-max` 的值,可执行: ```bash sysctl fs.file-max ``` #### 注意事项 - 如果某些参数未被正确识别,请确认系统的内核版本支持这些参数。 - 对于临时调整内核参数的情况,可以直接使用 `sysctl` 命令而无需修改配置文件。例如: ```bash sysctl -w net.ipv4.ip_forward=1 ``` 这种方式仅在当前会话有效,重启后失效。 --- ### 使用 Docker 安装 Redis 并涉及内核优化的例子 当使用 Docker 在 CentOS 上部署 Redis 服务时,可能也需要对内核参数进行适当调整以提高性能。例如,按照教程[^3][^4],可以在安装过程中结合上述内核参数优化策略,确保 Redis 和操作系统之间的高效协作。 ```bash docker run -d --privileged=true \ -p 6379:6379 \ --restart always \ -v /home/redis/redis.conf:/etc/redis/redis.conf \ -v /home/redis/data:/data \ --name redis \ redis:6.0.8 --requirepass "yourpassword" ``` 在此基础上,建议进一步验证相关网络和内存管理参数是否已按需调整。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值