今天突然看到邮件报警出现cpu使用率很高
# netstat -anpl | grep "127.0.0.1"
tcp 0 0 127.0.0.1:9000 127.0.0.1:11043 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:11042 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:10786 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:10784 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:10791 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:11047 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:10789 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:11045 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:11044 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:10788 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:11051 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:10793 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:11049 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:11048 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:10792 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:10799 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:11055 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:11054 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:10798 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:10797 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:11053 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:11052 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:10796 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:10803 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:11059 TIME_WAIT -
tcp 0 0 127.0.0.1:9000 127.0.0.1:11058 TIME_WAIT -
发现这个php-cgi是9000的端口
解决这个的办法只可以修改内核 暂时缓解的方法
vi /etc/sysctl.conf
编辑文件,加入以下内容:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.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 修改系統默认的 TIMEOUT 时间
不过很多时候,出现大量的TIME_WAIT状态的连接 ,往往是因为网站 程序代码中没有使用mysql.colse(),才导致大量的mysql TIME_WAIT.
阅读(4997) | 评论(0) | 转发(0) |