良许Linux教程网 干货合集 通过配置sysctl.conf文件提高系统性能

通过配置sysctl.conf文件提高系统性能

sysctl命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录/proc/sys/中。它包含一些TCP/ip堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用sysctl可以读取设置超过五百个系统变量。

image-20220302223421467

可以在/proc/sys目录下找到可供修改的参数。因此,procfs(能够通过文件系统与内核通信的文件系统模拟)对于“sysctl”是必需的。只有root用户才能执行此命令

使用sysctl命令修改内核参数

内核参数可以临时或永久修改。内核参数的临时修改如下: 读取当前内核的参数:

[root@localhost ~]# sysctl -a

使用-w临时修改内核参数。例如,禁止其他设备ping本机:

[root@localhost ~]# sysctl -w net.ipv4.icmp_echo_ignore_all=1
net.ipv4.icmp_echo_ignore_all = 1

配置sysctl.conf文件来优化系统配置sysctl.conf文件来优化系统 值“ 0”代表“关”,值“ 1”代表“开”。这些更改是临时的,重启系统后重置参数。

永久修改内核参数

在/etc/sysctl.conf文件中添加参数和值,例如,禁止其他设备ping本机,修改sysctl.conf配置文件后,需要执行sysctl -p命令从文件/etc/sysctl.conf文件中加载sysctl设置。:

[root@localhost ~]# echo "net.ipv4.icmp_echo_ignore_all = 1" >> /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.icmp_echo_ignore_all = 1
配置sysctl.conf文件来优化系统配置sysctl.conf文件来优化系统

几个sysctl使用实例

控制数据包转发

仅在充当网关的服务器上启用IP数据包转发。在其他服务器中,可以禁用此功能。

[root@localhost ~]# echo "net.ipv4.ip_forward = 0" >> /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.ip_forward = 0
配置sysctl.conf文件来优化系统配置sysctl.conf文件来优化系统

停用swap分区

在使用kubernetes环境的时候需要关掉swap分区,为了性能考虑。

[root@localhost ~]# echo "vm.swappiness = 0" >> /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.ip_forward = 0
vm.swappiness = 0
配置sysctl.conf文件来优化系统配置sysctl.conf文件来优化系统

SYN防洪

防止SYN Flood攻击,需要开启此项。

[root@localhost ~]# echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.ip_forward = 0
vm.swappiness = 0
net.ipv4.tcp_syncookies = 1
配置sysctl.conf文件来优化系统配置sysctl.conf文件来优化系统

允许系统打开的端口范围

[root@localhost ~]# echo "net.ipv4.ip_local_port_range = 1024    65000" >> /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.ip_forward = 0
vm.swappiness = 0
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_local_port_range = 1024    65000
配置sysctl.conf文件来优化系统配置sysctl.conf文件来优化系统

总结

Sysctl是一个功能强大的工具,用于在内核运行时动态地修改内核的参数,在这个命令的帮助下,可以修改内核参数,而无需重新编译内核或重启系统。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

img
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部