centos内核优化

这篇具有很好参考价值的文章主要介绍了centos内核优化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关闭dns反向解析

不关闭的话每台主机ssh访问会延迟一段时间才能连接

#执行完成后需要重启系统才能生效
sed -i 's/#UseDNS yes/UseDNS no/g'  /etc/ssh/sshd_config 

调整最大进程数限制和文件描述符限制

vi /etc/security/limits.conf

* soft nproc 65535

* hard nproc 65535

* soft nofile 65535

* hard nofile 65535

 nproc:限制每个用户的最大进程数,避免资源被单个用户或进程占用过多

nofile:增加每个进程可以打开的文件描述符数量,提高系统的并发性能

用户进程限制

vi /etc/security/limits.d/20-nproc.conf

*          soft    nproc     8192
root       soft    nproc     unlimited

* soft nproc 8192:该行配置指定了软限制(soft limit)的最大进程数(nproc)为 8192。软限制是一种警告级别的限制,表示当前用户或进程可以增加到的最大资源限制,但可以通过适当的权限更改。软限制通常用于提醒用户或进程接近硬限制(hard limit)

root soft nproc unlimited:该行配置指定了 root 用户的软限制最大进程数为无限制(unlimited)。这意味着 root 用户可以创建任意数量的进程,没有软限制的限制

内核参数优化

vi /etc/sysctl.conf

fs.file-max=65535
net.ipv4.ip_local_port_range=1025 65000
net.ipv4.tcp_max_orphans = 32768
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_max_tw_buckets=8000
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_retries2=5
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_synack_retries = 2 
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_sack=1
net.ipv4.tcp_fack=1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_keepalive_time=120
net.ipv4.tcp_keepalive_intvl=20
net.ipv4.tcp_keepalive_probes=3 
net.ipv4.tcp_max_syn_backlog= 65535
net.ipv4.tcp_mem  = 262144  524288 786432
net.ipv4.tcp_wmem = 4096    131072  16777216
net.ipv4.tcp_rmem = 4096    131072  16777216
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.core.wmem_max = 16777216
net.core.wmem_default = 131072
net.core.rmem_max = 16777216
net.core.rmem_default = 131072
net.netfilter.nf_conntrack_max=65536
net.netfilter.nf_conntrack_tcp_timeout_established=3600
net.netfilter.nf_conntrack_tcp_timeout_time_wait=120
net.netfilter.nf_conntrack_tcp_timeout_close_wait=60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait=120
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
vm.overcommit_memory = 0
vm.swappiness = 10
net.ipv4.ip_forward = 1

fs.file-max:该参数指定了系统全局可以打开的文件描述符的最大数量

net.ipv4.ip_local_port_range:定义了系统使用的本地端口范围,用于传出的 IPv4 连接

net.ipv4.tcp_max_orphans:指定了系统同时保持在内存中的 TCP 连接的最大数量

net.ipv4.tcp_window_scaling:启用 TCP 窗口扩大选项,可以优化网络传输的效率

net.ipv4.tcp_max_tw_buckets:指定了系统同时维持的最大 TIME-WAIT 状态的 TCP 连接数量

net.ipv4.tcp_tw_reuse:允许重新使用 TIME-WAIT 状态的 TCP 连接

net.ipv4.tcp_tw_recycle:启用 TIME-WAIT 快速回收机制,可以加速回收处于 TIME-WAIT 状态的 TCP 连接

net.ipv4.tcp_fin_timeout:指定了 TCP 连接处于 FIN-WAIT-2 状态的超时时间,单位为秒,默认60s

net.ipv4.tcp_retries2:指定了 TCP 连接在处于 TIME-WAIT 状态时重试的次数

net.ipv4.tcp_syn_retries:指定了 TCP SYN 请求的重试次数

net.ipv4.tcp_synack_retries:指定了 TCP SYN-ACK 的重试次数

net.ipv4.tcp_syncookies:启用 SYN Cookie 机制,用于防止 SYN Flood 攻击

net.ipv4.tcp_sack:启用 TCP SACK(Selective Acknowledgment)选项,提高网络传输效率

net.ipv4.tcp_fack:启用 TCP FACK(Forward Acknowledgment)选项,提高网络传输效率

net.ipv4.tcp_timestamps:启用 TCP 时间戳选项,用于解决延迟重传问题

net.ipv4.tcp_keepalive_time:表示在连接建立之后经过多少时间开始探测客户端是否正常,单位为秒

net.ipv4.tcp_keepalive_intvl:指定了 TCP Keepalive 探测的时间间隔,单位为秒

net.ipv4.tcp_keepalive_probes:指定了 TCP Keepalive 探测的次数

net.ipv4.tcp_max_syn_backlog:指定了 SYN 队列的最大长度,用于处理传入连接请求

net.ipv4.tcp_mem:指定了 TCP 内存使用的三个参数,分别为最小、默认和最大内存使用量

net.ipv4.tcp_wmem:指定了 TCP 发送缓冲区大小的三个参数,分别为最小、默认和最大缓冲区大小

net.core.somaxconn:指定了监听队列的最大长度,即允许等待连接的最大数量

net.core.netdev_max_backlog:指定了网络设备队列的最大长度,用于处理传入和传出的网络数据包

net.core.wmem_max:指定了发送缓冲区的最大大小

net.core.wmem_default:指定了发送缓冲区的默认大小

net.core.rmem_max:指定了接收缓冲区的最大大小

net.core.rmem_default:指定了接收缓冲区的默认大小

net.netfilter.nf_conntrack_max:指定了同时跟踪的最大连接数

net.netfilter.nf_conntrack_tcp_timeout_established:指定了已建立的 TCP 连接的超时时间,单位为秒

net.netfilter.nf_conntrack_tcp_timeout_time_wait:指定了 TIME-WAIT 状态的 TCP 连接的超时时间,单位为秒

net.netfilter.nf_conntrack_tcp_timeout_close_wait:指定了 CLOSE-WAIT 状态的 TCP 连接的超时时间,单位为秒

net.netfilter.nf_conntrack_tcp_timeout_fin_wait:指定了 FIN-WAIT 状态的 TCP 连接的超时时间,单位为秒

net.ipv6.conf.all.disable_ipv6 和 net.ipv6.conf.default.disable_ipv6:禁用 IPv6 功能

vm.overcommit_memory:禁用内存过量提交机制,确保系统不会过度分配内存

vm.swappiness:调整内存交换(Swap)的倾向性,值越小,系统倾向于更少地使用交换空间

优化脚本

vi linux.sh

#!/bin/bash
#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
#关闭dns反向解析
sed -i 's/#UseDNS yes/UseDNS no/g'  /etc/ssh/sshd_config 
#调整最大进程数限制和文件描述符限制
cat >> /etc/security/limits.conf << EOF
* soft nproc 65535
 
* hard nproc 65535
 
* soft nofile 65535
 
* hard nofile 65535
EOF
#用户进程限制
sed -i 's/4096/8192/g' /etc/security/limits.d/20-nproc.conf
#内核参数优化
cat >> /etc/sysctl.conf << EOF
fs.file-max=65535
net.ipv4.ip_local_port_range=1025 65000
net.ipv4.tcp_max_orphans = 32768
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_max_tw_buckets=8000
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_retries2=5
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_synack_retries = 2 
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_sack=1
net.ipv4.tcp_fack=1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_keepalive_time=120
net.ipv4.tcp_keepalive_intvl=20
net.ipv4.tcp_keepalive_probes=3 
net.ipv4.tcp_max_syn_backlog= 65535
net.ipv4.tcp_mem  = 262144  524288 786432
net.ipv4.tcp_wmem = 4096    131072  16777216
net.ipv4.tcp_rmem = 4096    131072  16777216
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.core.wmem_max = 16777216
net.core.wmem_default = 131072
net.core.rmem_max = 16777216
net.core.rmem_default = 131072
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
vm.overcommit_memory = 0
vm.swappiness = 10
net.ipv4.ip_forward = 1
EOF
#使配置生效
sysctl -p

cat > 文件名 << EOF 与 cat >> 文件名 << EOF区别

一个是创建,一个是在文件末尾追加内容文章来源地址https://www.toymoban.com/news/detail-552909.html

到了这里,关于centos内核优化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux内核优化

    参考 减少缓存 适合再内存不充足的条件下去使用,比如只有32G内存无法进行升级硬件了。 文件缓存 是一项重要的性能改进,在大多数情况下,读缓存在绝大多数情况下是有益无害的(程序可以直接从 RAM 中读取数据)。写缓存比较复杂, Linux 内核将磁盘写入缓存,过段时间

    2024年02月08日
    浏览(67)
  • Linux(CentOS)运维脚本工具集合

    备份指定目录 查看CPU、磁盘、内存使用率 返回结果 显示基础信息-详细 查看进程pid,启动时间,持续执行时间 根据进程id查看工作目录 清除Linux系统占用缓存 查看端口是否使用 demo: 查看进程使用的端口 demo 查看端口所在进程 demo 查看目录下各目录占用空间以及最大文件或

    2024年02月12日
    浏览(46)
  • Linux系统【Centos7】更新内核更新软件详细教程

    更新内核: 1. 打开终端,输入命令 sudo yum update,等待更新完成。 2. 重启系统,输入命令 sudo reboot。 3. 在 GRUB 引导界面,选择最新的内核版本,按下回车键进入系统。 4. 在终端中输入命令 uname -r,查看当前使用的内核版本是否更新成功。 更新软件: 1. 打开终端,输入命令

    2024年02月09日
    浏览(71)
  • Linux运维实战:Centos7.6部署wingftpserver

    Wing FTP Server是一款优秀且高速的跨平台FTP服务器软件,对比Windows中自带的 FTP 服务器,它支持可伸缩的处理器架构并采用异步IO,在速度和效率方面遥遥领先于其他同类产品,稳定可靠, 高负载的同时也能持续地正常运行,在网络运维中它契合企业和学校的文件传输,除了基

    2024年01月20日
    浏览(63)
  • 性能分析与调优: Linux 使用ELRepo升级CentOS内核

    目录 一、实验 1.环境 2.agent 服务器使用ELRepo升级CentOS内核 二、问题 1. RHEL-7, SL-7 或者 CentOS-7系统如何安装ELRepo 2.RHEL-8或者RHEL-9系统如何安装ELRepo (1)主机 表1-1 主机 主机 架构 组件 IP 备注 prometheus 监测 系统 prometheus、node_exporter  192.168.204.18 grafana 监测GUI grafana 192.168.204.19

    2024年01月23日
    浏览(62)
  • Linux内核源码分析 (6)RCU机制及内存优化屏障

    问题: RCU 英文全称为 Read-Copy-Update ,顾名思义就是 读-拷贝-更新 ,是 Linux 内核中重要的同步机制。 Linux 内核已有原子操作、读写信号量等锁机制,为什么要单独设计一个比较复杂的新机制? RCU的原理 RCU记录所有指向共享数据的指针的使用者,当要修改该共享数据时,首先

    2024年02月10日
    浏览(55)
  • Linux CentOS系统安装Spug并结合内网穿透实现远程访问本地运维平台

    目录 前言 1. Docker安装Spug 2 . 本地访问测试 3. Linux 安装cpolar 4. 配置Spug公网访问地址 5. 公网远程访问Spug管理界面 6. 固定Spug公网地址 结语    作者简介:  懒大王敲代码,计算机专业应届生 今天给大家聊聊Linux CentOS系统安装Spug并结合内网穿透实现远程访问本地运维平台,希

    2024年03月11日
    浏览(60)
  • linux|操作系统|centos7物理机安装网卡驱动8188gu(内核升级,firmware固件,USB设备管理,module管理)

    目前服务器领域centos7基本是主流的操作系统,而linux相对于Windows来说,软硬件方面的支持是差很多的,在硬件方面来说,以一个免驱的网卡为例,window xp可能不会自动识别到,但Windows10基本都会自动识别到,简简单单的即插即用。根本原因在Windows随着版本的升级,内置的各

    2024年01月20日
    浏览(84)
  • centos 的内核升级

    1、内核升级的原因 现在主流的centos应该都是centos 7了,从centos 7.2开始,内核版本为3.10,越往后内核版本越高。高版本的内核修复了许多的低版本内核的bug,因此,系统是需要提高内核版本的,从而提高安全性,稳定性,并增加更多的功能。 2、查看当前内版本 版本号中各个

    2024年02月10日
    浏览(39)
  • centos 编译升级内核

    一.离线编译并升级内核 1.下载内核 2.解压内核 (1)安装rpmrebuild (2)解压rpm包,找出源码包linux-3.10.0-1160.105.1.el7.tar.xz (3)解压源码包linux-3.10.0-1160.105.1.el7.tar.xz   1.编译配置 2.编译内核 make 3.安装内核 make modules_install install 4.更新引导 update-grub 5.重启 reboot 二.在线升级内核

    2024年01月17日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包