Linux内核: 修改TCP/IP调优参数

最新推荐文章于 2025-07-05 14:01:24 发布
转载 最新推荐文章于 2025-07-05 14:01:24 发布 · 1.8k 阅读
· 0
· 1
文章标签:

#linux内核 #tcp #文档

Network 专栏收录该内容
45 篇文章
订阅专栏
本文介绍了如何通过调整/proc/sys/net/目录下的TCP/IP参数来优化网络性能,包括设置接收和发送缓冲区大小、禁用时间戳、启用选择确认等功能。

From: http://www.abc188.com/info/html/wangzhanyunying/jianzhanjingyan/20080417/69302.html

 

任何的TCP/IP调优参数都位于/proc/sys/net/目录. 例如, 下面是最重要的一些调优参数, 后面是他们的含义:

 

1. /proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲
2. /proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲
3. /proc/sys/net/ipv4/tcp_timestamps — 时间戳在(请参考RFC 1323)TCP的包头增加12个字节
4. /proc/sys/net/ipv4/tcp_sack — 有选择的应答
5. /proc/sys/net/ipv4/tcp_window_scaling — 支持更大的TCP窗口. 假如TCP窗口最大超过65535(64K), 必须配置该数值为1
6. rmem_default — 默认的接收窗口大小
7. rmem_max — 接收窗口的最大大小
8. wmem_default — 默认的发送窗口大小
9. wmem_max — 发送窗口的最大大小

/proc目录下的任何内容都是临时性的, 所以重启动系统后任何修改都会丢失.

建议在系统启动时自动修改TCP/IP参数:

把下面代码增加到/etc/rc.local文档, 然后保存文档, 系统重新引导的时候会自动修改下面的TCP/IP参数:

echo 256960 > /proc/sys/net/core/rmem_default
echo 256960 > /proc/sys/net/core/rmem_max
echo 256960 > /proc/sys/net/core/wmem_default
echo 256960 > /proc/sys/net/core/wmem_max

echo 0 > /proc/sys/net/ipv4/tcp_timestamps
echo 1 > /proc/sys/net/ipv4/tcp_sack
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling

TCP/IP参数都是自解释的, TCP窗口大小配置为256960, 禁止TCP的时间戳(取消在每个数据包的头中增加12字节), 支持更大的TCP窗口和TCP有选择的应答.

上面数值的设定是根据互连网连接和最大带宽/延迟率来决定.

注: 上面实例中的数值能够实际应用, 但他只包含了一部分参数.

另外一个方法: 使用 /etc/sysctl.conf 在系统启动时将参数配置成您所配置的值:

net.core.rmem_default = 256960
net.core.rmem_max = 256960
net.core.wmem_default = 256960
net.core.wmem_max = 256960

net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack =1
net.ipv4.tcp_window_scaling = 1

确定要放弃本次机会?
福利倒计时
: :

立减 ¥

普通VIP年卡可用
立即使用
CodeJoker
关注 关注
  • 0
    点赞
  • 踩
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
  • 分享
    复制链接
    分享到 QQ
    分享到新浪微博
    扫一扫
  • 举报
    举报
专栏目录
Linux内核 TCP/IP、Socket参数调优
Java程序员的知识博客
07-15 1775
它包含一些TCP/IP堆栈和虚拟内存系统的高级选项,可用来控制Linux网络配置,由于/proc/sys/net目录内容的临时性,建议把TCPIP参数的修改添加到/etc/sysctl.conf文件, 然后保存文件,使用命令“/sbin/sysctl –p”使之立即生效。以上是TCP socket的读写缓冲区的设置,每一项里面都有三个值,第一个值是缓冲区最小值,中间值是缓冲区的默认值,最后一个是缓冲区的最大值,虽然缓冲区的值不受core缓冲区的值的限制,但是缓冲区的最大值仍旧受限于core的最大值。
高性能Linux:TCP/IP内核参数调优之Linux TCP内核参数解析
Bob Liu的程序人生
04-28 3724
内核参数
参与评论 您还未登录,请先 登录 后发表或查看评论
Linux系统sysctl.conf配置-网络优化部分
bigwood99的博客
05-11 2706
sysctl.conf配置
linux 配置tcp参数,Linux系统内核:修改TCP/IP调优参数
weixin_29531897的博客
05-12 1953
所有的TCP/IP调优参数都位于/proc/sys/net/目录。例如, 下面是最重要的一些调优参数, 后面是它们的含义:1. /proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲。2. /proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲。3. /proc/sys/net/ipv4/tcp_timestamps — 时间戳在(请参考...
MySQL数据库机器配置的3个网络参数
u012565458的博客
10-24 2269
为1表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭。为1表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。在关闭net.ipv4.tcp_tw_reuse的情况下,是不能重复利用TIME_WAIT的,需要等待TIME_WAIT自己关闭,并且TIME_WAIT的时间不能通过参数进行配置,如果修改的话,需要自己编译内核。tcp_timestamps设计目的是为了记录数据包的发送时间,过程如下。
设置tcp窗口,linux&windows 网络优化
uhml的专栏
02-23 1548
参考: 浅谈TCP优化 提高 Linux上socket 性能的技巧 为 Bandwidth Delay Product 调节 TCP 窗口 英特尔®以太网万兆位服务器适配器高级驱动程序设置为网络和 I/O 无盘为什么要修改网卡参数?怎么改?怎么对网卡优化? TCP Segment Offload(TSO)的实现原理浅析 调节英特尔®以太网适配器吞吐量性能 网络数据包分析 网卡
/proc/sys/net/ipv4/ 下网络参数的理解
weixin_42936764的博客
12-07 1678
假如您将此值设为大于1024,最好修改 include/net/tcp.h 里面的 TCP_SYNQ_HSIZE,以保持TCP_SYNQ_HSIZE*16 0)或者bytes-bytes/2^(-tcp_adv_win_scale)(如果tcp_adv_win_scale 128Mb 32768-610000)则系统将忽略所有发送给自己的ICMP ECHO请求或那些广播地址的请求。默认值为 60 秒。如果您的系统是负载很大的web服务器,那么也许需要降低该值,这类 sockets 可能会耗费大量的资源。
Linux 内核源码剖析- TCP.IP 实现(上下册).pdf
09-22
6. 网络子系统的优化:讲述了如何对Linux内核网络性能进行优化,包括内核参数的调优、内核网络数据结构的优化、以及流量控制等。 7. 实用案例分析:通过具体案例分析,展示了在Linux环境下如何进行网络问题的定位、...
(下册)Linux 内核源码剖析- TCP.IP 实现.pdf
09-22
书中不仅涉及了Linux内核的网络子系统架构,还细致讲解了内核网络代码的各个组成部分,对于内核参数配置、网络性能调优等高级话题也有所涉猎。通过剖析源码,读者可以直观地看到协议栈的工作流程,掌握数据包从进入...
优化Solaris内核安全设置:深入TCP/IP参数调优
该书主要关注Solaris 10的新特性,如改进的TCP/IP协议栈、强化的密码系统架构、跨平台优化机制以及与Linux的兼容性等,这些都是系统管理员进行有效内核调优的基础。 作者Ido Dubrawsky强调,Solaris内核提供了大量...
记录一次net.ipv4.tcp_tw_recycl快速回收机制导致的tcp连接失败问题
weixin_54851134的博客
11-19 2077
记录一次net.ipv4.tcp_tw_recycl快速回收机制导致的tcp连接失败问题
Linux TCP Timestamps 没鸟用
TCP/IP
07-07 1万+
对 Linux TCP 特性表明一个否定态度并非大不敬,而是这玩意儿没鸟用。还是 TCP Timestamps 的精度问题,本文仅针对 Linux TCP,不针对别的实现,看一下为什么它没鸟用。源码分析,看我添加的注释: 发生重传且没有序列被 SACKed ,若开启 Timestamps,Linux TCP 使用 tsecr 和当前 ms 的差计算 RTT,这在 ms 精度时代是个优化,但在 us 精度时代就是累赘。上述代码来自 5.10 内核,检测到乱序或丢包时,灌入 tcp_update_rtt_min
net.ipv4.tcp_timestamps引发的tcp syn无响应案
热门推荐
pyxllq的博客
05-17 2万+
    在我目前一个高并发的项目中,一度出现服务器不再响应任何TCP的syn请求,新的客户端死活介入不了服务。出现该状态之前由于并发亮的增加,曾经优化过服务器,主要是将TIME-WAIT sockets重新用于新的TCP连接,优化如下:1.修改/ect/sysctl.confnet.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4...
linux 内核网络调优参数说明
愚赐的博客
09-19 1381
所有的TCP/IP调优参数都位于/proc/sys/net/目录。例如, 下面是最重要的一些调优参数,后面是它们的含义: 1、/proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲 2、/proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲 3、/proc/sys/net/ipv4/tcp_timestamps — 时间戳在(请参考RFC...
Linux的net.ipv4.tcp_timestamps参数
weixin_34232744的博客
07-03 8807
Q1 今天发生了一个奇怪的现象,在家里始终打开公司的网站打开不了,我就齐了怪了,然后我就各种测试,从ping到dig域名,然后再curl,都是没有问题的,但是就是打不开,最好没有办法只能抓包了,从抓包的然后来看就是syn-ack没有返回,然后就google到底是因为什么? 原因就是net.ipv4.tcp_timestamps=1,启用了时间戳,原理如下: 问题出在了 tcp 三次握手,如果有一个...
时间戳引起的网站访问不了的问题
系统运维
09-20 979
针对有些用户能ping通我们的网站,但是连接时超时服务器没有任何响应,怀疑问题处在了了http的三次握手环节,这是决定通过抓包进行分析: 1、有问题机器的截图: 2、正常机器的截图: 3、发现问题 从抓包数据发现,web服务器对出问题机器和正常机器系统的tcp syn包都返回ACK包,但存在问题发出的tcp syn包有时候响应,有时候不响应。不响应时,终端与web服务器之间的tcp连接无法...
linux重要参数含义以及适用场景说明
张军伟的技术博客
06-06 5242
因此,在禁用net.ipv4.tcp_timestamps参数之前,您应该仔细评估您的网络环境和应用程序的需求,以确定是否需要禁用TCP时间戳。当它被设置为1时,表示开启TCP连接的快速回收机制,即当一个新的TCP连接请求到达时,如果它使用的IP地址和端口号与之前的TIME-WAIT状态的连接相同,那么内核将忽略这个连接。总之,net.ipv4.ip_local_port_range参数是控制本地TCP/UDP端口范围的重要参数,可以根据应用程序的性质和负载情况来选择不同的端口范围。
【网络】Linux 内核优化实战 - net.ipv4.tcp_timestamps
最新发布
cuiwin的专栏
07-05 1195
是一个平衡性能与开销的关键参数,默认启用可适配大多数网络场景;仅在特定需求(如低开销、隐私保护)下才建议禁用,且需评估潜在风险。
CodeJoker

博客等级

码龄17年
37
原创
34
点赞
157
收藏
50
粉丝
关注
私信

TA的精选

  • 新 Android Build: Tips and Tricks

    2263 阅读

  • 新 Makefile函数总结

    2854 阅读

  • 热 LINUX手动查看和修改MTU值的方法

    85312 阅读

  • 热 关于SIGBUS的总结

    63638 阅读

  • 热 关于LCP协商

    20332 阅读

查看更多

TA的历史创作历程

2011年 11篇
2010年 50篇
2009年 78篇

分类专栏

  • 3G-VT
    4篇
  • Android
    32篇
  • CM
    1篇
  • DirectShow
    7篇
  • Graphics
    7篇
  • GSM&3G
    18篇
  • Linux
    33篇
  • Misc
    14篇
  • Network
    45篇
  • UML
    1篇
  • Windows
    2篇

展开全部 收起

上一篇:
TCP/IP调优相关资料汇总
下一篇:
DLLMain 简单介绍

目录

展开全部

收起

目录

展开全部

收起

上一篇:
TCP/IP调优相关资料汇总
下一篇:
DLLMain 简单介绍

分类专栏

  • 3G-VT
    4篇
  • Android
    32篇
  • CM
    1篇
  • DirectShow
    7篇
  • Graphics
    7篇
  • GSM&3G
    18篇
  • Linux
    33篇
  • Misc
    14篇
  • Network
    45篇
  • UML
    1篇
  • Windows
    2篇

展开全部 收起

目录

评论
被折叠的  条评论 为什么被折叠? 到【灌水乐园】发言
查看更多评论
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值