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参数来优化网络性能,包括设置接收和发送缓冲区大小、禁用时间戳、启用选择确认等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 1644
它包含一些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 3680
内核参数
参与评论 您还未登录,请先 登录 后发表或查看评论
设置tcp窗口,linux&windows 网络优化
uhml的专栏
02-23 1533
参考: 浅谈TCP优化 提高 Linux上socket 性能的技巧 为 Bandwidth Delay Product 调节 TCP 窗口 英特尔®以太网万兆位服务器适配器高级驱动程序设置为网络和 I/O 无盘为什么要修改网卡参数?怎么改?怎么对网卡优化? TCP Segment Offload(TSO)的实现原理浅析 调节英特尔®以太网适配器吞吐量性能 网络数据包分析 网卡
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 内核优化实战 - net.ipv4.tcp_timestamps
最新发布
cuiwin的专栏
07-05 919
是一个平衡性能与开销的关键参数,默认启用可适配大多数网络场景;仅在特定需求(如低开销、隐私保护)下才建议禁用,且需评估潜在风险。
Linux之TCPIP内核参数优化
weixin_30604651的博客
04-17 827
  本文以Ubuntu 12.04 LTS Desktop (x64)默认配置为例(机器的内存为4GB),推荐先阅读《TCP连接的状态与关闭方式,及其对Server与Client的影响》、《Windows系统下的TCP参数优化》,以了解TCP优化的相关知识。 /proc/sys/net目录   所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/ne...
TCP之timestamps选项
redwingz的博客
03-20 1万+
默认情况下内核是开启timestamps选项的,如下tcp_sk_init函数中对sysctl_tcp_timestamps的初始化。 static int __net_init tcp_sk_init(struct net *net) { net->ipv4.sysctl_tcp_timestamps = 1; 也可通过PROC文件tcp_timestamps控制选项行为,tcp...
/proc/sys/net/ipv4详解(2)
weixin_34203832的博客
06-24 311
前文接http://itnihao.blog.51cto.com/1741976/908012   17) /proc/sys/net/ipv4/tcp_window_scaling 该文件表示设置tcp/ip会话的滑动窗口大小是否可变。参数值为布尔值,为1时表示可变,为0时表示不可变。tcp/ip通常使用的窗口最大可达到65535 字节,对于高速网络,该值可能太小,这时候如果启用了该功能...
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内核提供了大量...
proc/sys/net 详解(即时调整内核网络参数)
木牛的博客
07-25 456
到这里,想必读者已经对/proc/sys/net/目录下的/proc/sys/net/core/和/proc/sys/net/ipv4/这两个目录,已经有了一定了解了。在/proc/sys/net/目录下有两个目录,与现在的IPV4网络的运行息息相关,调整这两个目录下的某些文件的参数,能为我们的网络应用带到意想不到的效果,这两个目录就是/proc/sys/net/core/目录和/proc/sys/net/ipv4/目录,下面笔者将会对这两个目录中的重要文件分别作一个详细的说明。
proc/sys/net/ipv4/下各项的意义
Mr. David 专栏
07-05 3455
/proc/sys/net/ipv4/icmp_timeexceed_rate 这个在traceroute时导致著名的“Solaris middle star”。这个文件控制发送ICMP Time Exceeded消息的比率。 /proc/sys/net/ipv4/igmp_max_memberships 主机上最多有多少个igmp (多播)套接字进行监听。 /proc/sys/net/i
/proc/sys/net/ipv4下各项的意义(转)
sunwill_chen的专栏
05-22 1104
tcp_syn_retries :INTEGER 默认值是5 对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右时间。(对于大负载而物理通信良好的网络而言,这个值偏高,可修改为2.这个值仅仅是针对对外的连接,对进来的连接,是由tcp_retries1 决定的) tcp_synack_retries :INTEGER 默认值是5 对于远端
linux操作系统内核参数的意义
weixin_34119545的博客
03-01 559
所有的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_times...
Linux系统的几个重要内核参数
大叶子不小的博客
08-14 442
开启syncookies后,当SYN队列满了后,TCP会通过原地址端口,目的地址端口和时间戳打造一个特别的Sequence Number(又叫cookie发回去,如果是攻击者则不会有响应,如果是正常连接则把这个SYNCookie发回来,然后服务器端可以通过cookie建立连接(即使不在SYN队列)。#此参数默认值60,TCP保持在FIN_WAIT2状态的时间,超时后直接处于CLOSED,所以降低tcp_fin_timeout有助于减少TIME_WAIT数量。#此参数应该设置为1,防止SYN Flood。
Linux服务器安装Oracle时的内核参数配置
Ruishine的博客
11-16 4667
前言 在Linux上安装Oracle时,一般需要调整Linux的内核参数。 Linux安装文档中给出的最小值如下: fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmall = 2097152 kernel.shmmax = 4294967295 kernel.shmmni = 4096 net.core.rmem_default = 262144 net.core.rmem_max
linux 内核参数调整说明
weixin_33834075的博客
01-11 986
所有的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_timesta...
CodeJoker

博客等级

码龄17年
37
原创
33
点赞
156
收藏
49
粉丝
关注
私信

热门文章

  • LINUX手动查看和修改MTU值的方法 85178
  • 关于SIGBUS的总结 63309
  • 关于LCP协商 20271
  • wireshark中window is full与window is zore的不同之处 17858
  • 关于@override报错的问题 16889

分类专栏

  • 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 简单介绍

最新评论

  • 怎样在同一终端上多帐号登陆同一服务器?

    2401_87022832: 你好,三个运营商服务器独立运行,悟着同一套软件,统一口径,数据采集6分钟更新1次,但不同运营商终端客户同时访问服务器看到不一致的数据,是什么问题吗?

  • 说的比较通俗mux

    清河大善人: 我在大佬的评论区瑟瑟发抖,希望能引起注意并回访我的博客哈哈

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

    qq_41364217: 重启后不生效

  • 关于SIGBUS的总结

    洞穴夜莺: 但是在x86_64上后者也是SIGSEGV

  • wireshark中window is full与window is zore的不同之处

    weixin_40164628: “都是通知对端自己的接受窗口已经满了不能再向我发送数据了”---这个说错了。作为发送方,当待发送的数据为0,也就是发了出去,但是都没有确认,允许发送的大小为0,也就是说,在途字节数等于对方的接收窗口,这个时候,Wireshark打上【TCP window Full】标记,表示我不能再发送数据了。

大家在看

  • 【SpringBoot】15 核心功能 - Web开发原理 - 请求处理 - 常用请求参数注解 977
  • LLM实践系列:利用LLM重构数据科学流程05 - 模型选择与超参数调优的“智能副驾驶”

最新文章

  • Android Build: Tips and Tricks
  • Makefile函数总结
  • android 对于apk签名汇总
2011年11篇
2010年50篇
2009年78篇

目录

展开全部

收起

目录

展开全部

收起

上一篇:
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、付费专栏及课程。

余额充值