1、fin _ wait1状态过多。fin _ wait1状态是在server端主动要求关闭tcp连接,并且主动发送fin以后,等待client端回复ack时候的状态。fin _ wait1的产生原因有很多,需要结合netstat的状态来分析。
netstat -nat|awk '{print awk $NF}'|sort|uniq -c|sort -n
上面的命令可以帮助分析哪种tcp状态数量异常
netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n
则可以帮助你将请求80服务的client ip按照连接数排序。
2、 time _ wait状态过多。
    通常表现为 apache服务器负载高,w命令显示load average可能上百,但是web服务基本没有问题。同时ssh能够登陆,但是反应非常迟钝。
原因:最可能的原因是httpd.conf里面keepalive没有开,导致每次请求都要建立新的tcp连接,请求完成以后关闭,增加了很多 time _ wait的状态。另,keepalive可能会增加一部分内存的开销,但是问题不大。
分析:如果发现fin _ wait1状态很多,并且client ip分布正常,那可能是有人用肉鸡进行ddos***、又或者最近的程序改动引起了问题。一般说来后者可能性更大,应该主动联系程序员解决。
 但是如果有某个ip连接数非常多,就值得注意了,可以考虑用iptables直接封了他。