原文:socket fd泄露导致进程无法读写文件、进行网络请求问题排查

现象:一个后台进程在跑了 多分钟后,不再写日志,同时进程还有每分钟发送的一个网络请求,在服务端也没看到日志。 排查方式:首先怀疑是进程hang住了,但是通过gdb attach到进程,再打断点到网络请求函数,发现仍然是正常的每分钟进入一次,但是会报server connect failed错误。说明进程仍在正常执行,只是写日志和网络请求都是失败了。 因此怀疑是进程的fd满了。用ps命令查看进程id ...

2020-03-25 20:12 0 610 推荐指数:

查看详情

socket泄露问题

在增加keepalive和libevent 超时后,仍然会几个月后出现lsof统计句柄过多的问题,如下图,红线圈定的是不定期出现的错误关闭流,时间点和server端日志(只看到accpet fd,没有导致正常关闭的可写事件,也就是被keepalive关闭了,而应用层没有close,所以泄露 ...

Tue Oct 18 19:07:00 CST 2016 0 1605
开发导致的内存泄露问题,运维小伙伴儿这样排查不背锅

前些日子小组内安排值班,轮流看顾我们的服务,主要做一些报警邮件处理、Bug排查、运营issue处理的事。工作日还好,无论干什么都要上班的,若是轮到周末,那这一天算是毁了。 不知道是公司网络广了就这样还是网络运维组不给力,网络总有问题,不是这边交换机脱网了,就是那边路由器坏了,还偶发地各种超时 ...

Fri Nov 27 17:09:00 CST 2020 2 289
C#通过Socket进行网络传输文件

转贴: 如果想要利用C#通过Socket进行网络传输文件,一般情况下,大家会首先考虑使用.NET自带的 Socket.SendFile Method (String)这个方法。不过这个方法没有相应的文件接受方法,而且据说会有8KB的限制。所以,我尝试了另外一种方法,发现效果不错。下面 ...

Wed Jun 13 18:57:00 CST 2012 0 3539
WPF的BitmapImage的文件无法释放及内存泄露问题

相信用过WPF的BitmapImage的,都在用类似这样的代码来解决文件无法删除的问题!如果看看msdn上简单的描述,可以看到这样的说明:如果 StreamSource 和 UriSource 均设置,则忽略 StreamSource 值。如果要在创建 BitmapImage 后关闭流,请将 ...

Sun Jul 22 05:00:00 CST 2012 1 5668
性能案例分析 | 查看哪些进程在大量读写磁盘-I/O很高问题排查

作者:布丁缘 https://www.ddkiss.com/archives/68.html Linux 有很多运维诊断工具,有些用起来很简单,有些功能很强大用起来就有些麻烦。比如I/O等待问题,原因可能有很多种,也很难用某一种工具就能定位。特别是如何找到到底是哪个进程读写了哪个文件 ...

Sun Jan 19 23:11:00 CST 2020 0 856
socket fd泄漏想到的一些问题

一、报文跨层传递 所有的网络协议栈都告诉我们:TCP/IP协议栈是分层的,低一层的协议无需也不能感觉到上层的协议,这个观念在我的脑海中根深蒂固,并且由衷的赞叹这种设计的思想,但是在经过一些简单的思考就会发现,这种分层并不是绝对的,正如这世间的一切。一个直观的问题是,一样米 ...

Thu Mar 07 17:50:00 CST 2019 0 1130
CStatic::SetBitmap导致的内存泄露问题

由于需要动态的改变控件的图标显示,程序中对同一控件多次调用了SetBitmap方法,结果导致了内存泄露。 解决方法如下: 关键是需要手动将以前set过的资源用DeleteObject释放掉。 问题虽然解决了,但是不太明白为什么SetBitmap函数内部为什么没有自动把没用的资源 ...

Mon Jul 30 22:51:00 CST 2012 7 3110
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM