所以就在最近,依赖于pthread_mutex_timedlock的asynchronous服务器代码似乎已经超时了。 我以为这只是我的错误,但是看到linux内核出现了一些闰秒问题,似乎我并不是唯一的问题: https : //lkml.org/lkml/2012/7/1 / 11
目前的解决方法是什么? 重新启动服务器,或更新内核? 我的服务器依靠timedlock机制来等待来自其他线程的事件,并且在这个提前超时的情况下,CPU使用率已经达到了100%,因为它永远不会停在定时锁上。
我目前正在运行Ubuntu的服务器10.04.4,内核版本2.6.39.1
这下sudo做了诀窍:
/etc/init.d/ntp stop; date; date `date +"%m%d%H%M%C%y.%S"`; date; /etc/init.d/ntp start
(在freenode的#kernel说date -s "\date\"
修复了它)
CPU使用率从100%左右下降到0.5%也证实了这一点。 所以我想就是这样,直到下一次闰秒插入。