Orphan socket的产生

简介: 1. Orphan socket 不属于任何进程的socket叫orphan socket。这里顺便一下讨论orphan socket,因为很多网络资源不足导致的错误都和“孤儿socket”有关。

1. Orphan socket

不属于任何进程的socketorphan socket。这里顺便一下讨论orphan socket,因为很多网络资源不足导致的错误都和“孤儿socket”有关。

1.1 Orphan socket是怎么产生的呢?

网上没有明确的说明,我们做一个线上调查:

Shell代码 

[maoyidao@03701 ~]# netstat -nap | awk '/^tcp/  {++S[$NF]} END {for(a in S) print a, S[a]}' 

2976/sshd 1 

11065/gearman 1 

- 2166 

32726/java 31455 

25554/scribed 4 

[maoyidao@03701 ~]# netstat -nap | awk '/^tcp/ {if($NF == "-") {++S[$6]}}  END {for(a in S) print a, S[a]}' 

TIME_WAIT 451 

FIN_WAIT1 655 

ESTABLISHED 118 

FIN_WAIT2 102 

SYN_RECV 249 

CLOSING 2 

LAST_ACK 619 

可以看到任何一个TCP stat情况下都有可能产生“orphan socket”,但多数是在建立过程当中,以及断开连接中的socket

可以通过以下参数减少orphan socket的产生。

sysctl -a | grep orphan

net.ipv4.tcp_orphan_retries = 0

net.ipv4.tcp_max_orphans = 65536

原文

http://maoyidao.iteye.com/blog/1744309

目录
相关文章
|
5月前
|
网络协议 C++
什么是Socket?
Socket(套接字)是网络通信的基本单位,它允许在不同计算机之间进行数据交换。Socket在网络编程中起着至关重要的作用,它为应用程序提供了一个机制,通过网络发送和接收数据。简单地说,Socket是进程间双向通信的端点。
39 2
|
网络协议 安全 前端开发
socket到底是什么? 2
socket到底是什么?
115 0
|
网络协议 安全 Unix
socket 到底是个啥
咸鱼将跟大家打开 socket 的神秘大门,不但要搞清楚 socket 的概念,最好还能够了解它的底层实现
|
网络协议
【Socket】实现MiniHttpServer
【Socket】实现MiniHttpServer
|
移动开发 缓存 网络协议
Socket总结
Socket总结
202 0
Socket总结
|
网络协议 Unix
一切皆Socket
“一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。 ——有感于实际编程和开源项目研究。   socket()函数介绍 socket函数介绍 函数原型 domain type protocol errno 示例   函数原型 socket()函数的原型如下,这个函数建立一个协议族为domain、协议类型为type、协议编号为protocol的套接字文件描述符。
1476 0
|
Unix Python 网络协议