讲师中心 微信公众号
AI工具推荐 视频效率加速

TCP: out of memory -- consider tuning tcp_mem 后的 tcp_mem 推荐值组合

千芳姑娘_5787

千芳姑娘_5787

发布时间:2026-01-29 20:39:09

|

260人浏览过

|

来源于php中文网

原创

TCP: out of memory警告表示TCP缓冲区内存超tcp_mem硬上限(第三值),触发丢包和拒绝新连接;其三值分别定义低水位、压力启动点和硬上限,单位为页,控制全系统TCP缓冲区总用量。

tcp: out of memory -- consider tuning tcp_mem 后的 tcp_mem 推荐值组合

tcp_mem 报错说明什么

出现 TCP: out of memory -- consider tuning tcp_mem 并不表示系统物理内存真的耗尽,而是内核 TCP 栈在分配 socket 缓冲区(sk_buff)时,发现当前使用的内存超出了 tcp_mem 设置的硬上限(第三个值)。此时内核会强制丢包、拒绝新连接,并打日志警告。

tcp_mem 三个值分别控制什么

tcp_mem 是一个三元组:low pressure high,单位是页(page,通常是 4KB):

  • low:低于此值时,TCP 缓冲区可自由增长,无压力
  • pressure:达到此值后,内核开始主动回收缓冲区(如降低 rmem_max、wmem_max),避免进一步膨胀
  • high:超过此值即触发 OOM-like 行为——丢包、拒绝新连接、记录警告

注意:这三个值不是 per-socket,而是全系统所有 TCP socket 缓冲区占用的总页数上限。

如何计算合理值

推荐从系统内存和典型连接负载反推,而非套用固定数字:

  • 先查当前内存页大小:getconf PAGE_SIZE(通常为 4096)
  • 估算峰值并发连接数 × 平均每连接缓冲区用量(例如 128KB 接收 + 128KB 发送 ≈ 64 pages)
  • 预留 20%~30% 余量,再向上取整到 2 的幂次(内核内部偏好)
  • 确保 pressure ≈ low × 1.5,high ≈ low × 2~3,保持梯度合理

常见参考(基于 16GB 内存、中等吞吐 Web 服务):
tcp_mem = "98304 131072 196608"(≈ 384MB / 512MB / 768MB)

高并发场景(如代理、长连接网关)可能需:
tcp_mem = "262144 327680 393216"(≈ 1GB / 1.28GB / 1.5GB)

修改后必须同步调整的配套参数

只调 tcp_mem 不改其他,容易导致缓冲区实际无法撑到上限:

  • 确认 net.core.rmem_max 和 net.core.wmem_max ≥ 单连接最大期望缓冲(如 262144)
  • 检查 net.ipv4.tcp_rmem 和 net.ipv4.tcp_wmem 的第三个值(默认常为 4194304),若远高于 tcp_mem[2],会导致单连接轻易突破全局限制
  • 建议将 tcp_rmem[2] 和 tcp_wmem[2] 设为 ≤ tcp_mem[2] / max_estimated_connections

例如:目标支持 10k 连接,tcp_mem[2] = 393216(1.5GB),则单连接上限不宜超过 157286(≈ 614KB)

真正难的是预估连接规模和 buffer 模式——突发流量下缓冲区会快速堆积,而 tcp_mem 是静态阈值。线上调参后务必用 ss -i 和 /proc/net/snmp 中的 TcpExt: TCPMemoryPressures 计数器验证是否仍频繁触发压力态。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

5907

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2528

2023.08.10

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

5907

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2528

2023.08.10

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

4150

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3513

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2733

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

6670

2023.07.05

剧云故事大纲与分场规划教程
剧云故事大纲与分场规划教程

本专题讲解剧云梗概与多级大纲功能,覆盖全局、分集、分场结构生成,以及主线冲突、剧情节点和场次顺序调整。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
GDB Reference Card
GDB Reference Card

共0课时 | 0人学习

《Debugging with GDB》用户手册
《Debugging with GDB》用户手册

共0课时 | 0人学习

Valgrind FAQ
Valgrind FAQ

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn