`
bao231
  • 浏览: 87407 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

netstat Send-Q Recv-Q,端口状态说明

 
阅读更多

Send -Q Recv -Q

Send -Q 对方没有收到的数据或者说没有Ack的,还是本地缓冲区.

Recv -Q 数据已经在本地接收缓冲,但是还没有recv().


CLOSE_WAIT

    对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成CLOSE_WAIT 此时我方要调用close()来使得连接正确关闭

TIME_WAIT

    我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分 段最大生存期),以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以作为服务器,在可能的情 况下,尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。

    目前有一种避免TIME_WAIT资源浪费的方法,就是关闭socket的LINGER选项。但这种做法是TCP协议不推荐使用的,在某些情况下这个操作 可能会带来错误。

/proc/sys/net/ipv4/tcp_fin_timeout
如 果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2 状态的时间。对端可以出错并永远不关闭连接,甚至意外当机。缺省值是60 秒。2.2 内核的通常值是180 秒,你可以按这个设置,但要记住的是,即使你的机器是一个轻载的WEB 服务器,也有因为大量的死套接字而内存溢出的风险,FIN- WAIT-2 的危险性比FIN-WAIT-1 要小,因为它最多只能吃掉1.5K 内存,但是它们的生存期长些。参见tcp_max_orphans 。


/proc/sys/net/ipv4/tcp_keepalive_time
当keepalive 起用的时候,TCP 发送keepalive 消息的频度。缺省是2 小时。
/proc/sys/net/ipv4/tcp_keepalive_intvl
当 探测没有确认时,重新发送探测的频度。缺省是75 秒。
/proc/sys/net/ipv4/tcp_keepalive_probes
在 认定连接失效之前,发送多少个TCP 的keepalive 探测包。缺省值是9 。这个值乘以tcp_keepalive_intvl 之后决定了,一个连接发送了keepalive 之后可以有多少时间没有回应。

分享到:
评论

相关推荐

    我发现 Linux 文档写错了.doc

    特别是,netstat 命令中的 Recv-Q 和 Send-Q 两个信息是查看 TCP 连接状态的重要指标。但是,Linux 官方文档中关于 Recv-Q 和 Send-Q 的描述是错误的。笔者小林通过查看内核源码,确认了这个问题。 首先,我们需要...

    Linux网络状态工具netstat和ss使用详解

    * `Recv-Q`:接收队列中的字节数 * `Send-Q`:发送队列中的字节数 * `Local Address`:本地 IP 地址和端口号 * `Foreign Address`:远端 IP 地址和端口号 * `State`:套接字的状态,例如 LISTEN、ESTABLISHED 等 SS...

    netstat用法

    Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:8090 0.0.0.0:* LISTEN tcp 0 0 192.168.92.128:8090 192.168.92.1:56258 ESTABLISHED tcp 0 52 ...

    linux查看现有占用端口命令netstat –ntlp.docx

    2. **Recv-Q** 和 **Send-Q**:接收队列和发送队列的长度,一般为0,表示没有未处理的数据。 3. **Local Address**:本地地址,显示了该端口监听的IP和端口号。 4. **Foreign Address**:远程地址,对于监听连接来说...

    详谈Linux netstat命令(高级面试必备)

    简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 ...Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED tcp 296

    Linux netstat命令详解

    * Recv-Q:显示接收队列的长度。 * Send-Q:显示发送队列的长度。 * Local Address:显示本地IP地址和端口号。 * Foreign Address:显示远程IP地址和端口号。 * State:显示连接的状态,如ESTABLISHED、LISTEN等。 ...

    教你使用netstat命令

    Proto Recv-Q Send-Q Local Address Foreign Address State Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path ``` 这里列出了活跃的互联网连接以及UNIX域套接字的...

    netstat命令详解

    - **Recv-Q/Send-Q** - 分别表示接收队列和发送队列的长度。正常情况下,这两个值应为0。如果出现非零值,可能意味着数据包在网络中堆积,这通常是网络拥塞或应用程序处理缓慢的表现。 - **Local Address/Foreign ...

    NETSTAT命令详解

    * Recv-Q:显示当前套接口缓冲区中等待处理的数据包数量。 * Send-Q:显示当前套接口缓冲区中等待发送的数据包数量。 * Local Address:显示本地套接口的 IP 地址和端口号。 * Foreign Address:显示远程套接口的 IP...

    Linux下netstat命令的一些常见用法

    - `Recv-Q`和`Send-Q`:接收队列和发送队列的长度,正常情况下应为0。 - `Local Address`:本地IP地址和端口号。 - `Foreign Address`:远程IP地址和端口号。 - `State`:连接状态,如ESTABLISHED(已建立连接)...

    Linux下用netstat查看网络状态、端口状态

    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 5 18.104.81.152:7710 211.100.39.250:29488 ESTABLISHED 6111/sshd ``` 上面的输出显示7710端口正被`sshd`程序使用。 2. **...

    Linux netstat命令大全详解

    - `Recv-Q`:接收队列中等待处理的数据量。 - `Send-Q`:发送队列中待发送的数据量。 - `Local Address`:本地主机的IP地址和端口号。 - `Foreign Address`:远程主机的IP地址和端口号。 - `State`:连接状态,...

    Linux网络操作命令netstat.docx

    Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 256 10.153.89.66:ssh 10.153.21.168:1054 ESTABLISHED tcp 0 0 10.153.89.66:ssh 10.153.21.166:1222 ESTABLISHED tcp 0 0 10.153.89.66:1521 10....

    linux下查看端口命令及服务

    Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN ... ``` - **字段解释**: - `Proto`:协议类型。 - `Recv-Q`:接收...

    Linux netstat命令详细解析

    - **Recv-Q**:接收队列,等待处理的接收数据包数量。 - **Send-Q**:发送队列,等待发送的数据包数量。 - **Local Address**:本地地址,包括IP和端口号。 - **Foreign Address**:远程地址,同样包括IP和端口号。 ...

    常用的linux系统监控命令整理.docx

    - `netstat -natp` 用于查看所有网络连接,特别是`Recv-Q`, `Send-Q` 和 `State`,这些指标可以帮助我们了解网络通信的状态。 - `lsof -p pid` 查找特定进程打开的文件句柄,包括网络套接字。 - `lsof -i :80` ...

    centos常用命令,快速解决问题。

    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 15772/svnserve ``` 编辑 `/etc/rc.d/rc.local` 文件,添加如下内容: ```bash #!/bin/sh -...

Global site tag (gtag.js) - Google Analytics