怎么查看time wait socket个数 time

netstat -an查看到大量的TIME_WAIT状态的解决办法 - CSDN博客
netstat -an查看到大量的TIME_WAIT状态的解决办法

netstat -an查看到大量的TIME_WAIT状态的解决办法
突然遇到一个socket连接No buffer space available的问题
解决办法是修改Linux内核参数,
修改系统socket最大连接数,在文件/etc/security/limits.conf最后加入下面两行:
* soft nofile 32768
* hard nofile 32768
或者缩小2MSL的时长、允许重用处于TIME_WAIT状态的TCP连接、快速回收处于&TIME_WAIT状态的TCP连接,修改/etc/sysctl.conf,添加如下几行:
#改系統默认的TIMEOUT时间
net.ipv4.tcp_fin_timeout=2
#启重用,允许将TIME_WAIT sockets重新用于新的TCP连接 默认为0表示关闭
net.ipv4.tcp_tw_reuse=1
#开启TCP连接中TIME_WAIT sockets的快速回收 默认为0 表示关闭
net.ipv4.tcp_tw_recycle=1
对于windows环境,可通过修改注册表进行配置:
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
添加一个DWORD类型的值TcpTimedWaitDelay,值可以根据实际情况配置。
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters
添加一个DWORD类型的值MaxUserPort ,值可以根据实际情况配置。
上面这些参数根据实际情况进行配置。
本文已收录于以下专栏:
相关文章推荐
用netstat命令发现大量的TIME_WAIT现象:netstat -ae|grep 1521|grep root……TIME_WAIT
rootTIME_WAIT
rootTIME_WA...
在做ministored 性能测试的时候,需要尽可能快的发送http请求给server端。因此做了一个循环,让client不停的发送,中间用usleep来控制发送的频率,最开始的时候usleep的值设...
http://blog.csdn.net/sunnydogzhou/article/details/6461330
决的办法,在 /etc/sysctl.conf加入下面几句话
net.ipv4...
问题描述:
在不考虑系统负载、CPU、内存等情况下,netstat监控大量ESTABLISHED连接与Time_Wait连接。
# netstat -n | awk '/^tcp/ {++...
netstat -an
192.168.12.13:3306
192.168.12.12:30443
192.168.12.13:3306
linux下使用netstat发现很多TIME_WAIT导致端口不可用的解决方法如下:
vi /etc/sysctl.conf
net.ipv4.tcp_syncookies = 1
在运行netstat -n|grep 80 | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'时发现有大量的time_wait,出现这种...
可以执行这条命令查看time_wait数量
[zhujiang@localhost ~]$ netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) ...
做计算机管理员,我们都必要了解一下netstat这个命令,它是一个查看网络连接状态的工具,在windows下也默认有这个工具。
Netstat命令详解 netstat命令怎样使用 如何关闭TIME_...
TCP状态转移要点
TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。网络服务器程序要...
他的最新文章
讲师:何宇健
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)用户名:king_819
文章数:139
评论数:601
访问量:2251643
注册日期:
阅读量:1297
阅读量:3317
阅读量:586009
阅读量:472020
51CTO推荐博文
&&&&&&& 今天早上一上班,有同事就反映公司好几个网站都打不开,登陆数据库
服务器(windows),发现很卡,于是重启了下服务器,进入系统后,没过一会问题依旧,查看了下系统进程,发现mysql占用率达到99%,可以肯定的是mysql连接出现问题:
netstat -an
192.168.12.13:3306&&&&& 192.168.12.12:30443&&&&& TIME_WAIT
192.168.12.13:3306&&&&& 192.168.12.12:30444&&&&& TIME_WAIT
192.168.12.13:3306&&&&& 192.168.12.12:30445&&&&& TIME_WAIT
192.168.12.13:3306&&&&& 192.168.12.12:30446&&&&& TIME_WAIT
192.168.12.13:3306&&&&& 192.168.12.12:30447&&&&& TIME_WAIT
192.168.12.13:3306&&&&& 192.168.12.12:30448&&&&& TIME_WAIT
192.168.12.13:3306&&&&& 192.168.12.12:30449&&&&& TIME_WAIT
192.168.12.13:3306&&&&& 192.168.12.12:30450&&&&& TIME_WAIT
192.168.12.13:3306&&&&& 192.168.12.12:30451&&&&& TIME_WAIT
192.168.12.13:3306&&&&& 192.168.12.12:30452&&&&& TIME_WAIT
&&&&& 根据TCP协议定义的3次握手断开连接规定,发起socket主动关闭的一方 socket将进入TIME_WAIT状态,TIME_WAIT状态将持续2个MSL(Max Segment Lifetime),在Windows下默认为4分钟,即240秒,TIME_WAIT状态下的socket不能被回收使用. 具体现象是对于一个处理大量短连接的服务器,如果是由服务器主动关闭客户端的连接,将导致服务器端存在大量的处于TIME_WAIT状态的socket, 甚至比处于Established状态下的socket多的多,严重影响服务器的处理能力,甚至耗尽可用的socket,停止服务. TIME_WAIT是TCP协议用以保证被重新分配的socket不会受到之前残留的延迟重发报文影响的机制,是必要的逻辑保证.&&&&&&在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters,添加名为TcpTimedWaitDelay的DWORD键,设置为60,以缩短TIME_WAIT的等待时间
登陆到web服务器(linux):
&&&& netstat -ae |grep mysql
&&&& tcp&&&&&&& 0&&&&& 0 aaaa:53045&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53044&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53051&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53050&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53049&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53048&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53055&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53054&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53053&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53052&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53059&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53058&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53057&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53056&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53063&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53062&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53061&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53060&&&&&&&&&&&&&& 192.168.12.3:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53067&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53066&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53065&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53064&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa53071&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53070&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0tcp&&&&&&& 0&&&&& 0 aaaa:53069&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& TIME_WAIT&& root&&&&&& 0发现系统存在大量TIME_WAIT状态的连接,通过调整内核参数解决,
vi /etc/sysctl.conf
编辑文件,加入以下内容:net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_fin_timeout = 30
然后执行 /sbin/sysctl -p 让参数生效。
net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout 修改系y默认的 TIMEOUT 时间
修改之后,再用
netstat -ae|grep mysql
tcp&&&&&&& 0&&&&& 0 aaaa:50408&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& ESTABLISHED nobody&&&& 3224651tcp&&&&&&& 0&&&&& 0 aaaa:50417&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& ESTABLISHED nobody&&&& 3224673tcp&&&&&&& 0&&&&& 0 aaaa:50419&&&&&&&&&&&&&& 192.168.12.13:mysql&&&&&&&&&& ESTABLISHED nobody&&&& 3224675
&&&&&& 发现大量的TIME_WAIT&已不存在,mysql进程的占用率很快就降下来的,各网站访问正常!!
&&&&&& 以上只是暂时的解决方法,最后仔细巡查发现是前天新上线的一个系统,程序代码中没有使用mysql.colse(),才导致大量的mysql& TIME_WAIT&&
&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
10:31:55 15:19:28 10:16:26 13:39:19 11:06:23 12:41:16 14:43:24 17:30:16 17:30:53 09:50:38 21:36:59 09:13:20 14:18:45 10:37:53鍗氬?鍒嗙被锛

我要回帖

更多关于 websocket time wait 的文章

 

随机推荐