当前位置:首页 > 教育培训 >

linux内核参数大全(Linux升级内核)

来源:原点资讯(www.yd166.com)时间:2023-06-11 23:57:38作者:YD166手机阅读>>

作为一名优秀的Linux运维工程师,参数优化是一门十分重要的功课。你是不是一听到这个词就头痛?没关系,小编帮你快速掌握这一技能。这里是最全的Linux内核参数,也是BAT互联网企业中的完整参数,关注我,收藏起来,以备不时之需。

linux内核参数大全,Linux升级内核(1)

kaihsLinux内核参数的优化

Linux /proc/sys目录下存放着多数内核的参数,并且可以在系统运行时进行更改,一般重新启动机器就会失效。而/etc/sysctl.conf是一个允许改变正在运行中的Linux系统的接口,它包含一些TCP/IP堆栈和虚拟内存系统的高级选项,修改内核参数永久生效。

/proc/sys下内核文件与配置文件sysctl.conf中变量存在着对应关系,即修改sysct.conf配置文件,其实是修改/proc/sys相关参数,所以对Linux内核优化只需修改/etc/sysctl.conf文件即可。如下为BAT企业生产环境/etc/sysct.conf内核完整参数:

Linux内核常见参数详解:

net.ipv4.TCP_keepalive_time = 30

net.ipv4.tcp_keepalive_probes = 5

net.ipv4.tcp_keepalive_intvl = 5

如果某个TCP连接在空闲30秒后,内核才发起 探查(probe);

如果探查(probe)5次(每次5秒 tcp_keepalive_intvl值)不成功,内核才彻底放弃,认为该连接已失效;

net.ipv4.tcp_retries1 = 5

放弃回应一个TCP 连接请求前﹐需要进行N次重试;

net.ipv4.tcp_retries2 = 15

在丢弃激活(已建立通讯状况)的TCP连接之前﹐需要进行N次重试;

net.ipv4.tcp_fin_timeout = 30

表示如果套接字由本端要求关闭,这个参数决定了它保持在 FIN-WAIT-2状态的时间;

net.ipv4.tcp_tw_recycle = 1

表示开启TCP连接中TIME-WAITsockets的快速回收,默认为0,表示关闭;

net.ipv4.tcp_max_SYN_backlog = 8192

表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数;

net.ipv4.tcp_syncookies = 1

tcp 建立连接的 3 路握手过程中,当服务端收到最初的 SYN 请求时,会检查应用程序的syn_backlog队列是否已满;

启用syncookie,可以解决超高并发时的` can’t connect` 问题。

但是会导致 TIME_WAIT 状态fallback为保持2MSL时间,高峰期时会导致客户端无可复用连接而无法连接服务器;

net.ipv4.tcp_orphan_retries = 0

关闭TCP连接之前重试多少次;

net.ipv4.tcp_mem = 178368 237824 356736

net.ipv4.tcp_mem[0]: 低于此值,TCP没有内存压力;

net.ipv4.tcp_mem[1]: 在此值下,进入内存压力阶段;

net.ipv4.tcp_mem[2]: 高于此值,TCP拒绝分配socket;

net.ipv4.tcp_tw_reuse = 1

表示开启重用,允许将TIME-WAITsockets重新用于新的TCP连接;

net.ipv4.ip_local_port_range = 1024 65000

表示用于向外连接的端口范围;

net.ipv4.ip_conntrack_max = 655360

在内核内存中netfilter可以同时处理的“任务”(连接跟踪条目);

net.ipv4.icmp_ignore_bogus_error_responses = 1

开启恶意icmp错误消息保护;

net.ipv4.tcp_syncookies = 1

开启SYN洪水攻击保护。

net.ipv4.tcp_timestamps = 1

该参数控制RFC 1323 时间戳与窗口缩放选项;

net.ipv4.tcp_sack = 1

选择性应答(SACK)是 TCP的一项可选特性,可以提高某些网络中所有可用带宽的使用效率;

net.ipv4.tcp_fack = 1

打开FACK(Forward ACK) 拥塞避免和快速重传功能;

net.ipv4.tcp_retrans_collapse = 1

打开重传*包功能,为0的时候关闭重传*包功能;

net.ipv4.tcp_syn_retries = 5

对于一个新建连接,内核要发送多少个SYN 连接请求才决定放弃;

net.ipv4.tcp_synack_retries = 5

tcp_synack_retries显示或设定Linux在回应SYN要求时尝试多少次重新发送初始SYN,ACK封包后才决定放弃;

net.ipv4.tcp_max_orphans = 131072

系统所能处理不属于任何进程的TCP sockets最大数量;

net.ipv4.tcp_max_tw_buckets = 5000

系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息;

默认为180000,设为较小数值此项参数可以控制TIME_WAIT套接字的最大数量,避免服务器被大量的TIME_WAIT套接字拖死;

当然不是每一个服务器都需要把所有的参数进行调整,请大家务必根据公司的业务进行匹配优化~

原文来自公众号“思科CCIE训练营”定期更新技术干货文章及网络技术视频 文档 工具免费领,欢迎关注!

点一点,“了解更多”

栏目热文

图解linux内核(通俗易懂讲解linux内核)

图解linux内核(通俗易懂讲解linux内核)

前言:本文和其它的“Linux内核分析”文章都基于如下约定: 内核版本为Linux 3.10.29(该版本是一个long...

2023-06-12 00:17:24查看全文 >>

linux内核配置详解(linux内核的配置原则)

linux内核配置详解(linux内核的配置原则)

前言 Linux内核是操作系统的核心,也是操作系统最基本的部分。 Linux内核的体积结构是单内核的、但是他充分采用了微...

2023-06-12 00:07:24查看全文 >>

linux设备树详解(linux 设备树与驱动)

linux设备树详解(linux 设备树与驱动)

设备树的出现上一节说过设备树的出现是为了解决内核中大量的板级文件代码,通过 DTS 可以像应用程序里的 XML 语言一样...

2023-06-11 23:45:29查看全文 >>

linux完整内核(Linux卸载内核)

linux完整内核(Linux卸载内核)

这是一个困扰 Linux 用户的常见问题。这也是考试和面试中经常问到的一个问题。下面是你需要了解的所有内容。你可能在网...

2023-06-12 00:11:30查看全文 >>

linux内核技术讲解教程

linux内核技术讲解教程

Linux内核的相关技术,Lee哥很早之前就想和大家分享一波了。但是一直苦于没有时间。今天就给大家分享一波,也算是一波福...

2023-06-12 00:05:50查看全文 >>

linux 内核分析(Linux 内核分析发送缓冲区)

linux 内核分析(Linux 内核分析发送缓冲区)

概述前段时间朋友让整理Linux内核这一块的内容,抽空整理了下linux内核方面,主要从linux体系结构和linux内...

2023-06-12 00:26:32查看全文 >>

linux基本命令(linux常用命令图解)

linux基本命令(linux常用命令图解)

我们并不是每天都会谈论 Linux 的命令行。但正如一些读者指出的那样,你们也想学习一些命令行的技巧。因此,我整理了一份...

2023-06-12 00:31:29查看全文 >>

linux内核的使用(linux内核的主要功能)

linux内核的使用(linux内核的主要功能)

概述嵌入式设备驱动开发中将驱动程序以模块的形式发布,更是极大地提高了设备使用的灵活性——用户只需要拿到相关驱动模块,再插...

2023-06-11 23:48:09查看全文 >>

英雄联盟为什么调不了符文(韩国英雄联盟为什么那么强)

英雄联盟为什么调不了符文(韩国英雄联盟为什么那么强)

最近英雄联盟大更新后迎来不少吐糟,特别是对于那些步入社会的老玩家,本来就没啥时间玩,大更新后完全看不懂符文等,表示纷纷弃...

2023-06-12 00:12:19查看全文 >>

英雄联盟没有一键符文是怎么回事(英雄联盟一键符文不见了)

英雄联盟没有一键符文是怎么回事(英雄联盟一键符文不见了)

如果Wegame取消一键配置符文,这个做法是否正确?网友:普天同庆就在近期,大家有没有发现,在玩英雄联盟的时候,导入符文...

2023-06-12 00:12:59查看全文 >>

文档排行