系统缓冲区耗尽

从TIME_WAIT到端口耗尽:深入剖析No buffer space available的根源与实战排查 本文深入剖析了'No buffer space available'错误的根源,重点分析了TIME_WAIT状态连接堆积和临时端口耗尽问题。通过详细的排查步骤和解决方案,帮助开发者快速定位并解决网络连接问题,包括调整临时端口范围、优化TIME_WAIT处理、增加网络缓冲区大小等实用技巧。 阅读详情

系统缓冲区

简介

缓存是CPU的一部分,它存在于CPU中 CPU存取数据的速度非常的快,一秒钟能够存取、处理十亿条指令和数据(术语:CPU主频1G),而内存就慢很多,快的内存能够达到几十兆就不错了,可见两者的速度差异是多么的大,缓存是为了解决CPU速度和内存速度的速度差异问题。

解决问题过程

System.AggregateException: One or more errors occurred. ---> System.Net.Sockets.SocketException: 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。

看着信息的提示应该是socket资源被耗尽了。第一反应就是重启系统,但是这只是应急的做法,后面一定还会出现,一定是程序哪里不对了。

 

首先,通过命令查看一下端口的占用情况

1

netstat -ano

果然有大量的Tcp连接处在了 FIN_WAIT_2 的状态,并且都是访问同一个地址,这个6379端口是Redis服务常用的端口(先怀疑是redis服务),

现在的问题就是定位是哪个进程了,根据提示 Pid=13220,使用命令(或者打开【任务管理器】)

1

tasklist

我遇到的问题是 这个PID根本就不存在,这可怎么整,这个进程可能早就被回收了。突然间我想到是不是事件查看器能有些线索?

我打开的【事件查看器】,找到了【系统】,右键进行查询,果然找到了问题症结所在。

 

我打开这个站点的配置文件,看到了那个redis的配置,是个域名!  ping一下这个域名

果然各种连不上,IP也对上了! 我们公司的策略连不上是正常的,这个配置不应该使用正式版的配置。

系统缓冲区耗尽常见问题

1、虚拟内存太小或者C盘满了。如果是这种,请自己查资料加大虚拟内存量,并保证C盘还有充足的空间。

2、是你电脑里面某个软件的问题。
这个错误可能是你计算机的Socket句柄资源用尽导致的,能够造成这种现象的一种情况就是你的计算机的某个程序不断的向某个连接发出连接申请,但是始终没能连上,没连上就会引发一个错误,如果编程的人没有写释放资源的代码,那么这个连接就始终占据着着一个句柄,于是由于不断的连接,最终导致Socket句柄资源耗尽。
如果你运行的都是很正常的程序,那么很可能进行连接的就是一些木马程序,比如盗取密码的程序需要将盗取的密码发送到某台机器上等等。如果杀毒没杀到,就装个防火墙看看,追求干脆的话就重新安装系统。

3、注册表中的以下二项出现错误
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock2

解决办法:备份,然后找一台相同系统的机器,将以下注册表分支导出存为二个文件,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock2

最后将这二个导出的注册表文件导入到有问题的机器中即可

4、WannaCrypt(永恒之蓝) down.bddp.net 勒索蠕虫

 5月15日,微软发布安全补丁修复了CVE编号为CVE-2019-0708的Windows远程桌面服务(RDP)远程代码执行漏洞,该漏洞在不需身份认证的情况下即可远程触发,危害与影响面极大。 所以杀掉powershell进程,安装windows补丁吧。

 

Rapid SCADA MQTT 一、配置RapidSCADA 1、准备KpMqtt.dll、Jint.dll库文件,从网盘下载。 2、将以上两个文件拷贝到SCADA安装目录的Comm/KP目录下,如下: C:\SCADA\ScadaComm\KP 3、新建SCADA项目 4、新建Line 5、新建Device 6、拷贝Config目录下的KpMqtt_001.xml文件、KpMqtt_Job.js文件到项目Comm\Config下,如下示例链接 C:\SCADA\Projects\MQTTProject\Instances\Defau 阅读详情

相关推荐

服务器被矿工入侵记录

一次服务器被矿工入驻的处理记录

王瑞的技术专栏 1333

One or more errors occurred 报错

接口调用报错: One or more errors occurred. (Size 18675374 is larger than MaxDocumentSize 16777216.) 原因分析: 出现以上错误的原因是MongoDB单条数据最大只能支持16MB数据的写入限制,但是开发在记录日志或者写数据的时候没有对大于16MB的数据进行替换处理。 解决办法: 对于可能大于16MB的数据进行替换处理 ...

General_Y的博客 1万+

UE5.5 PCGFrameWork程序化内容生成实战指南

本文是UE5.5 PCGFrameWork程序化内容生成的实战指南。详细介绍了从点云采样、DynamicMesh几何生成到子图与蓝图扩展的核心工作流。通过实战案例演示如何利用该框架高效构建丰富的程序化场景,为技术美术、独立开发者及爱好者提供从入门到进阶的系统性指引。

tea88的博客 921

bug记录之_One or more errors occurred. (A task was canceled.)

总结: 问题所在:A程序发送Post请求给B程序,由于B程序处理时间过长导致A程序结束请求,但是B程序还在继续跑,B程序就报了这个异常。 最终解决方法:在A程序中的post请求超时限制设置大点。...

修炼中 5544

CentOS7下Node.js v20+安装与常见依赖库问题解决指南

本文详细介绍了在CentOS7系统下安装Node.js v20+的完整流程及常见依赖库问题的解决方案。通过升级glibc到2.28+、配置环境变量以及处理libstdc++版本问题,帮助开发者顺利在老旧系统上部署最新版Node.js,提升开发效率。

weixin_30689307的博客 157

用友U8自定义按钮开发:从基础配置到实战业务集成

本文详细介绍了用友U8自定义按钮开发的完整流程,从基础配置到实战业务集成。通过实际案例演示如何在U8系统中添加和替换功能按钮,包括数据库配置、SQL脚本编写和VB组件开发等关键技术点,帮助企业用户实现业务场景的深度定制。

weixin_29698641的博客 256

.net c# 方法请求时报错: One or more errors occurred.(The SSL connection could not be established.)

1. 背景:系统偶然出现SSL错误,导致程序出现异常,造成数据不完整。 2. 目的:添加重试机制,当出现SSL错误且程序抛异常时,重新执行“接口”,以此解决SSL困扰。 /// <summary> /// 代码执行失败重试帮助类 /// @Author wangrc /// @Copy-Right 2022-03-21 /// @Version latest /// @Getting-Start 参考FailureRetryHelper.TestFailureRetryHelper..

weixin_50382881的博客 1万+

【STM32-DSP库的使用】基于Keil5 + STM32CubeMX + CMSIS-DSP 手动添加、库添加方式

CMSIS-DSP库在工程中应用遇到的所有问题进行归纳终结

洋洋的博客 1万+

【原创】HttpClient访问“不可靠”Https时错误处理

但,使用HttpClient访问不合法的https站点,如直接使用IP地址访问,则出现异常。使用HttpClient访问带有合法证书的https站点,正常。使用HttpClient访问http站点,正常。这样,就不再报异常了。

赵庆明老师 4149

经典的YOLOv3和YOLOV5算法详解及代码复现

yolov3和yolov5算法详解及代码复现

hasakie的博客 771

【腾讯小龙虾WorkBuddy专栏01】初识WorkBuddy!定位、核心优势、功能界面全解析

【腾讯小龙虾WorkBuddy专栏01】初识WorkBuddy!定位、核心优势、功能界面全解析

AI人人懂 3852

linux 没有可用的缓冲区空间不足,由于系统缓冲区空间不足或队列已满,不能执...

最近事情很多,人也懒,东西看了不少,也想到过一些东西,但就是懒得写。现在记录一下前两个星期做一个压力测试时出现的现象,希望重开一个好头。简单地说,这是个从Windows Server连接Linux下的MongoDB服务时出现的问题。MongoDB使用的是自定义的二进制协议,客户端使用普通的TCP连接进行连接后再读写数据。在以前的测试中,我使用的都是建立少量连接,每个连接进行多次操作,而这次则是对“...

weixin_42347750的博客 941

SwiftUI 5 教程之 SwiftData使用入门(教程含源码)

对我来说,记住日期很难。是的,您可以设置该日期的提醒,但该提醒无法产生紧迫感。让我们创建一个应用程序,我们可以在其中添加将来发生的事件。如果我们可以在主应用程序上看到所有即将发生的活动,那就太好了。也许将它们添加到小部件上以营造紧迫感。对于任何事件,我们需要跟踪哪些事情?我们将在下一篇文章中添加更多属性,其中我们将讨论迁移。现在,这就是我们所需要的。开始吧。

iCloudEnd的博客 987

环形缓冲区容量耗尽解决方案

• 分块存储:将环形缓冲区分割为多个独立子块(如每块128条数据)• 异步处理:主缓冲区数据写入磁盘或异步队列,备缓冲区承接新请求。• 触发条件:当缓冲区使用率超过阈值(如90%)时启动扩容。• 渐进扩容:按需分配(如每次增加25%),减少内存抖动。• 过期清理:后台线程定期清理超时数据(如每秒执行一次)• 倍增策略:新容量 = 原容量 × 2(简单高效)• 时间戳索引:每个数据项附加时间戳,按时间排序存储。• 切换策略:主缓冲区满时冻结统计,切换至备缓冲区。• 差值编码:存储相邻时间戳差值(节省空间)

qq_49739667的博客 694

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

PG 日报|修复高 IO 并发场景,解决预读机制耗尽本地缓冲区缺陷

Etched 的技术路线提供了一种有别于 Nvidia GPU 基础设施的替代方案,尽管此前曾遭受市场质疑,但其创新方向仍赢得了投资者的强烈信…CYBERTEC 工程师 Wellingtone Luvonga 详细介绍了如何配置 CloudNativePG 的分布式拓扑来应对这一挑战,内容涵盖所需的 YAML 配置、部署流程,以及实际操作中遇到的各类问题。此次更新标志着 Claude 在语音交互能力上迈出了重要一步,也进一步强化了其在竞争激烈的 AI 语音助手市场中的差异化优势。

IvorySQL的博客 272

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【网络安全】简析DNS攻击的常见类型、危害与防护建议

域名系统(DNS)是一种结构化的命名系统,是Internet基础结构的关键部分。目前,针对DNS的攻击已经成为网络安全中的一个严重问题,每年都有数千个网站成为此类攻击的受害者。为了保护网络免受此类攻击,重要的是要了解不同类型的DNS攻击,并找到相对应的缓解方法。

A1_3_9_7的博客 1713

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。

问题出现在博客抓取程序上。上周五下班前打开的程序,运行了2天左右,在这周一中午左右程序报错。 连主机都DOWN了,系统是WIN SERVER 2003。 错误记录如图,我也不知道是不是这条有关,不过貌似关系很大。 程序里加了错误记录功能,记录下的错误为: 错误记录 [Bug] 2012-11-16 20:39:49=System.Net.WebEx...

weixin_30339457的博客 411

记一次linux内存耗尽导致的DataBase故障

数据库故障诊断及解决-记一次linux内存耗尽导致的DataBase故障-中级及以上难度

qq_45732829的博客 2352

疑难杂症--由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作

在巡检数据库时发现,数据库备份作业失败,查看错误日志发现以下提示: 已以用户 WIN2008-JH122\SYSTEM 的身份执行。 Microsoft (R) SQL Server 执行包实用工具  Version 10.0.4000.0 for 64-bit  版权所有 (C) Microsoft Corp 1984-2005。保留所有权利。    开始时间:  10:05:51  错误: ...

weixin_34062329的博客 1646

内存不足引起的SIGKILL:一个缓冲区不断增长问题的定位与解决(解释SIGKILL原因)

内存不足引起的SIGKILL:一个缓冲区不断增长问题的定位与解决(解释SIGKILL原因) 新版本的录制程序终于快完工了,在添加了一个新特性“报警录制”后,就开始测试了。 一开始就不顺利:程序正常运行一段时间后就会崩溃,由于程序添加了守护进程,在崩溃后会自动重启。 因此测试得到的结果就是:程序运行一段时间后就自动重启,并不断持续;有时几个小时重启一次,有时甚至每分

bingqingsuimeng的专栏 1万+

TCP PSH+ACK攻击是什么意思?PSH+ACK攻击原理

TCP PSH+ACK攻击目的在于耗尽受害系统的资源。当代理向受害主机发送PSH和ACK标志设为1的TCP报文时,这些报文将使接收系统清除所有TCP缓冲区的数据(不管缓冲区是满的还是非满),并响应一个确认消息。...

我是飞飞啊,不一定温柔,但一定自由 3432

Linux 下释放内存,swap交换区缓存

关于内存耗尽的总结:1)在进程收到OOM之前,内核将刷新文件系统的cache来释放空间.2)将交换区的页面移到磁盘上.3)当内存变少时,虚拟性使每个进程通过交换区来做简单的上下文环境切换.4)当进程消耗尽交换内存后,才会引发out-of-memory(OOM)来kill那些进程.所以,我们还是有必要来手动进行Linux下释放内存的操作,其实也就是释放缓存的操作了。要达到释放缓...

weixin_34402408的博客 535

突破内存限制:Atmosphere系统ams_mitm模块深度优化指南

Atmosphere作为任天堂Switch的定制固件,其强大的ams_mitm模块提供了系统服务拦截功能,但在处理大型游戏时经常面临内存瓶颈。本文将为你揭示如何通过深度优化来突破这些限制,让你的Switch运行更加流畅稳定。🎮 ## 什么是ams_mitm模块? ams_mitm是Atmosphere系统中的核心模块,专门负责拦截和重定向系统服务请求。通过这个模块,你可以: - 拦截电源控

gitblog_00963的博客 299

linux fopen函数 too many open files错误

原因:句柄被用完了出现这种情况有会是以下几种情况导致的:  1:文件句柄未关闭  包括普通文件、socket描述符、数据库连接等  2:所有句柄虽然释放了,但是没有人工释放,在垃圾回收中积累着,在某一时刻爆发出错。  3:在fclose(fp)之前,操作系统并未将缓冲区中的文件内容写入磁盘,导致写多次后打开的文件就多了解决办法:  1:通过ulimit 来修改 file o

HULIHONG的专栏 5582

解剖一个拖垮系统的文件读写操作:你的IO代码为何慢如龟爬?

一个简单的文件对账需求,新节点上线后中文竟全部乱码,宛如撞邪。紧急修复后,为处理大文件引入的流式操作,又埋下“文件句柄泄漏”的定时炸弹,最终在夜深人静时引爆,系统以“Too many open files”的姿态当场崩溃。本文将以第一视角,带你亲历这次惊心动魄的文件IO事故,从编码、句柄到缓冲区,用“血”的教训彻底终结那些足以让系统停摆的经典陷阱。

专注生产事故复盘。这里没有空洞理论,只有从P0级告警中打捞出的源码级真相和企业级填坑指南,带你从“踩坑”到“封神”。 1700
上一篇: 大家普遍使用的网站的bug等问题
下一篇: kafka性能非常的不错
dylanstudy
博客等级 码龄14年 19粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值