怎么解释?我已经将select的超时更改为1s,cpu系统的负载更改为85%,为什么?
已将nfds的选择改为最高fd +1,仍然是高cpu系统负载。
编辑--解决问题的
该bug与select无关,pthread_mutex_timedwait的第三个参数缩写为绝对时间,但我错误地使用了相对时间,这导致了较高的cpu系统负载。
和为什么pthread_mutex_timedwait导致高cpu系统负载而不是高cpu usr负载?
strace:只看到select系统调用,没有其他
发布于 2013-03-25 09:18:59
您可能有一个坏的(断开连接)描述符。通常,这是在read select
上加载这种负载的主要原因。
您可能有可用的数据,但永远不要阅读。同样的情况。
您可能会在select
调用之间执行一些非常繁重的任务。
如果您的select
总是返回0
,那么问题不在select
调用中。它在别处的。
https://stackoverflow.com/questions/15610712
复制相似问题