linux - 闰秒和 pthread_mutex_timedlock 过早超时

标签 linux pthreads leap-second

就在最近,我依赖于 pthread_mutex_timedlock 的异步服务器代码似乎过早超时了。起初我以为这只是我的错误,但看到 linux 内核存在一些闰秒问题,看来我不是唯一的问题:https://lkml.org/lkml/2012/7/1/11

当前对此的修复是什么?重启服务器,还是更新内核?我的服务器依赖timedlock机制来等待来自其他线程的事件,并且由于这种过早的超时,CPU使用率一直处于100%,因为它永远不会停留在timed lock上。

我目前正在运行 ubuntu 服务器 10.04.4,内核版本为 2.6.39.1

最佳答案

好吧,我遇到了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

(freenode 的#kernel 说 date -s "\date\" 修复了它)

CPU 使用率从大约 100% 下降到 0.5% 也证实了这一点。所以我想就是这样,直到下一个闰秒插入。

关于linux - 闰秒和 pthread_mutex_timedlock 过早超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11281551/

相关文章:

c - 在 C 中终止线程时的内存泄漏处理

sql-server-2008 - 在 SQL Server 2008 中存储闰秒

python - 如何在 linux 上为所有使用 pip 的用户安装模块?

c - Linux 内核空间中的结构?

php - 在 windows 和 linux 上编写 PHP 代码时有什么不同

python - 更改 mp4ize.py 以在 Windows 上工作

c++ - 从主线程 C++ 更新信号量

c - 是否有与 Java Waits and Notify 等效的 C 语言?

python - 如何在python中从gps历元获取当前日期的闰秒

.net - 通过 Win 10 Oct 2018 更新,Windows 可以识别闰秒。 .NET 的 DateTime 现在也是吗?