闰秒和pthread_mutex_timedlock超时问题

3
最近我的异步服务器代码似乎依赖于pthread_mutex_timedlock,但似乎提前超时了。起初我以为这只是我的错误,但是看到Linux内核存在一些闰秒问题,似乎我不是唯一一个遇到这个问题的人:https://lkml.org/lkml/2012/7/1/11 那么目前的解决方法是什么?重新启动服务器还是更新内核?我的服务器依赖于timedlock机制来等待其他线程的事件,但由于这种提前超时,CPU使用率已经达到100%,因为它从未在定时锁上休息过。
我当前运行的是Ubuntu服务器10.04.4,内核版本为2.6.39.1。
1个回答

4
我遇到了一个与Java闰秒漏洞相关的问题,以下是解决方法:http://forums.pentaho.com/showthread.php?98217-Java-leap-second-bug-how-to-fix-your-broken-servers&s=5836d11a51327406f965c66fddc9149d&p=286479#post286479。在sudo下运行以下命令即可解决问题:
/etc/init.d/ntp stop; date; date `date +"%m%d%H%M%C%y.%S"`; date; /etc/init.d/ntp start

(#kernel at freenode说date -s "\date\"可以解决这个问题)

这也得到了CPU使用率从100%降至0.5%的确认。所以我想,问题就这样解决了,直到下一个闰秒插入。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接