【发布时间】:2020-09-24 16:39:50
【问题描述】:
我有一个非常简单的 hello world 程序,它打印 hello world,然后使用一对 gettimeofday() 将 usleep(50) 调用括起来。如果两次 gettimeofday() 调用之间经过的时间大于 5 毫秒,我会 printf。
在 Linux Vmware VM 上运行时,甚至在本机 Linux 笔记本电脑上运行时,我注意到有时我会得到从 5 毫秒到 10 毫秒的经过时间。与 VMware 相比,我在本机 Linux 笔记本电脑上看到的 printf 少得多,但它仍然出现。在本机 Linux 笔记本电脑上,经过的时间甚至高达 20 毫秒,但我看到的 printf 比在 VMWare 上要少得多。
为什么会这样? VMware 或本机 Linux 笔记本电脑都不是很忙。
如何缓解这种情况?
感谢任何见解。
【问题讨论】:
-
你使用的是 x86 吗?
标签: linux linux-kernel