0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TCP的这些内存开销原来是这样

Linux爱好者 来源:Linux爱好者 作者:Linux爱好者 2021-02-09 18:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

实际中 TCP 连接上肯定是要进行数据的收发的,而且还会有 TIME_WAIT 等其它状态。在这些复杂情况下,一条连接占用多大内存呢?飞哥用做了七天的实验结果告诉你!

实验1:ESTABLISH空连接

实验2:客户端 => 服务器发送数据测试

4ee33f2c-61ff-11eb-8b86-12bb97331649.png

实验3: 服务器 => 客户端发送数据测试

5221db58-61ff-11eb-8b86-12bb97331649.png

实验4:非 ESTABLISH 状态

54c32614-61ff-11eb-8b86-12bb97331649.png

55ae012a-61ff-11eb-8b86-12bb97331649.png

总结

我们把实验中的数据来总结一下

567e20c6-61ff-11eb-8b86-12bb97331649.png

可见,内核在 socket 内存开销优化上采取了不少方法:

1. 内核会尽量及时回收发送缓存区、接收缓存区,但高版本做的更好

2. 发送接收缓存区最小并一定不是 rmem 内核参数里的最小值,实际可能会更小

3. 其它状态下,例如对于TIME_WAIT还会回收非必要的 socket_alloc 等对象

责任编辑:xj

原文标题:漫画:花了 7 天时间测试,我彻底搞明白了 TCP 的这些内存开销!

文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 协议
    +关注

    关注

    2

    文章

    620

    浏览量

    41185
  • 内存
    +关注

    关注

    9

    文章

    3231

    浏览量

    76499
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1432

    浏览量

    83758

原文标题:漫画:花了 7 天时间测试,我彻底搞明白了 TCP 的这些内存开销!

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    存储芯片闪崩!谷歌发布新算法,AI内存占用只需原来1/6?

    Cache内存占用降低至原来的1/6且几乎无精度损失。   随后在当地时间3月25日,美光科技开盘最高跌幅超6%,收盘跌3.4%,四天累计跌幅超过13%;闪迪当天收跌3.5%;3月26日三星电子跌近5%,SK海力士跌超6%。   而这一轮存储股价下跌,谷歌近期推出的Tu
    的头像 发表于 03-27 13:50 6984次阅读
    存储芯片闪崩!谷歌发布新算法,AI<b class='flag-5'>内存</b>占用只需<b class='flag-5'>原来</b>1/6?

    开关量16路DI,8路DO,Modbus TCP远程采集模块

    TCP
    IBF贝福
    发布于 :2026年04月15日 15:11:03

    TCP/BDP问题的诊断方法和优化方案

    在运维工作中,我们经常遇到这样的问题:服务器配置很高、网络带宽也很充裕,但应用响应就是很慢。数据库查询、文件传输、API调用,各种操作都像是被什么东西拖住了。经过反复排查,CPU、内存、磁盘IO
    的头像 发表于 04-02 09:39 153次阅读

    DDR5内存断崖式下跌或引发踩踏式抛货?

    内存
    芯广场
    发布于 :2026年03月30日 15:35:23

    MangoTree Halo Ultra「全新PXI」,标配自动纠错内存#

    内存
    芒果树数字
    发布于 :2026年03月06日 15:59:34

    Linux Swap交换空间详解:Android编译内存不足?这样扩充立竿见影

        在  Linux  系统使用过程中,你是否遇到过  “ 内存不足 ”  的报错?比如编译  Android  源码时,明明按教程操作,却因物理内存没达到  16G  要求而编译中断?这正是
    的头像 发表于 12-06 08:10 4534次阅读

    为什么会有TCP/IP协议?

    在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。 就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到
    发表于 12-03 06:28

    为什么电脑插了UPS,断电瞬间依然会重启?真相原来是这样

    突如其来的停电,屏幕一黑,主机重启,未保存的文件瞬间消失……这惊悚的一幕,相信不少人都经历过。更让人困惑的是:明明已经给电脑配备了UPS(不间断电源),为什么它还是没能“保住”电脑?今天,我们就来彻底揭开这个谜团。一、核心误区:UPS≠绝对“零秒切换”许多用户有一个误解:认为只要插着UPS,断电时电脑就能毫发无伤。事实上,能否实现无缝切换,取决于您使用的UP
    的头像 发表于 10-20 10:08 1294次阅读
    为什么电脑插了UPS,断电瞬间依然会重启?真相<b class='flag-5'>原来是</b><b class='flag-5'>这样</b>!

    塔讯 Modbus RTU 转 Modbus TCP 在污水处理厂 PLC 数据采集中的配置案例

    水处理厂中有多种支持 Modbus RTU 协议的设备,如水质分析仪表、流量计、液位计等,为了实现这些设备与上位机系统(采用 Modbus TCP 协议)的通信,以便集中监控和管理,需要使用Modbus RTU转Modbus TCP
    的头像 发表于 08-18 15:20 1106次阅读
    塔讯 Modbus RTU 转 Modbus <b class='flag-5'>TCP</b> 在污水处理厂 PLC  数据采集中的配置案例

    什么是Modbus TCP协议

    Modbus TCP是一种基于TCP/IP协议的Modbus通信协议,用于在客户机和服务器之间进行数据通信。它常用于工业自动化控制、电力监控与管理、温湿度监测等领域。Modbus TCP协议使用标准
    的头像 发表于 07-23 17:18 4754次阅读
    什么是Modbus <b class='flag-5'>TCP</b>协议

    TCP攻击是什么?有什么防护方式?

    随着网络的高速发展,越来越多的企业都将业务部署在线下机房或者云上。随之而来的就是各种各样的网络攻击,如DDoS攻击、CC攻击、TCP攻击等,这些攻击对业务的影响也是很大。市面上有很多安全厂商都有研发
    的头像 发表于 06-12 17:33 1178次阅读

    为什么你的电动兽耳经常卡顿?原来是这个地方出了问题

    电动兽耳大概分为耳朵、发箍、舵机、电池包、主控系统5个部分。主要是感应式兽耳和机械式兽耳卡顿原因多与舵机故障有关,包括齿轮损坏、电位器失灵、电机堵转或电路短路等。这些故障会导致兽耳运
    的头像 发表于 06-09 17:08 1074次阅读
    为什么你的电动兽耳经常卡顿?<b class='flag-5'>原来是</b>这个地方出了问题

    HarmonyOS优化应用内存占用问题性能优化一

    使用相关接口创建PurgeableMemory对象,从而管理Purgeable内存。 图片加载和渲染:在使用Image组件加载和渲染图片时,开发者可以手动调整图片源文件的尺寸大小,使其与组件大小一致。这样
    发表于 05-21 11:27

    labview tcp读取数据不完整

    *附件:未命名 1.rar 我用labview tcp协议读取电源的电压,返回的数据正常应该是这样的: 00 00 00 00 00 07 01 03 04 00 00 27 10 但实际返回是这样
    发表于 04-29 09:58

    TCP三次握手和四次挥手,这样解释太通俗易懂了!

    TCP连接的建立和释放分别通过“三次握手”和“四次挥手”来完成。三次握手过程TCP三次握手是建立可靠网络连接的关键过程,它用于确保通信双方能够正常发送和接收数据,并提供可靠的数据传输机制。三次握手
    的头像 发表于 04-24 19:33 1669次阅读
    <b class='flag-5'>TCP</b>三次握手和四次挥手,<b class='flag-5'>这样</b>解释太通俗易懂了!