我有一个ESXI服务器和一个OpenSuse 10.3发行版作为访客系统运行。 在使用Thread.sleep()不占用100%CPU的java(6_17)应用程序中,我注意到它有时不会再次唤醒,应用程序处于昏迷状态。 我在睡觉前开始logging,注意到时钟跳了一个小时,几分钟后,不久之后从其他线程logging的时间再次产生实时。
有一些Java错误发布,所有深入到Linux使用错误的时钟睡觉。 还有一些跳跃时间的虚拟机问题。 有人看到类似的东西,所以我知道从哪里开始search?
即使Object.wait()也被破坏了,所以我甚至不能closures我的应用程序。 可以调用Thread.sleep()经常触发多次从hareware更新?
这里有几件事要尝试:
就我个人而言,我发现使用java(1.6.0_16)可以可靠地使用VMWare工具提供时间同步,但是这些工具已经在Redhat和Solaris VM上,而不是在Suse上。 以上两个文件应该有帮助。