当前位置: 技术问答>linux和unix
关于LINUX SOCKET连接CPU占用问题
来源: 互联网 发布时间:2015-10-09
本文导语: 我有一个程序,功能是从局域网其他机器接收数据并存储在本地。(此局域网相当繁忙) 在一台运行此程序的机器上,用netstat查看到平均保持在500个连接左右,绝大多数连接处于 TIME_WAIT 状态,此程序占用CPU资源到...
我有一个程序,功能是从局域网其他机器接收数据并存储在本地。(此局域网相当繁忙)
在一台运行此程序的机器上,用netstat查看到平均保持在500个连接左右,绝大多数连接处于 TIME_WAIT 状态,此程序占用CPU资源到了99.9%,有时会将到92%,但总是在90%以上。
请教这是正常现象吗?
在一台运行此程序的机器上,用netstat查看到平均保持在500个连接左右,绝大多数连接处于 TIME_WAIT 状态,此程序占用CPU资源到了99.9%,有时会将到92%,但总是在90%以上。
请教这是正常现象吗?
|
用select了,设一个超时。
用recv一直等待是不行的,任你CPU再强颈,也会跑死。
如果更好,可以再加上信号.
用recv一直等待是不行的,任你CPU再强颈,也会跑死。
如果更好,可以再加上信号.
|
是不是用频繁地建立和断开的短连接?如果是这样可能改成长连接更好些!