【发布时间】:2014-11-25 20:00:15
【问题描述】:
朋友求一个可以用来查找真实系统的命令
Linux中程序的执行时间。我回复说time
命令很棒。
他接着问,你查询执行时间时,虚拟机返回的一个程序的执行时间(通过time),和程序的真实系统执行时间是一样的吗?
我的直觉是说这取决于:
如果机器上有足够的资源,则返回的 VM 时间将与程序执行的真实/挂钟时间相同。
如果系统没有足够的资源,那么 VM 时间将与实际(系统)执行时间有很大不同。此外,VM 是操作系统之上的一个应用程序,它有自己的调度程序。这意味着虚拟机需要调用系统调用,然后由操作系统处理,然后与硬件通信,然后提供真实的(系统)执行时间。因此,在这种情况下,返回的时间可能与实际时间不同。
如果执行的程序很简单,那么VM时间可以等于真实(系统)时间。
如果执行的程序不简单,那么VM时间可能会有很大的不同。
我的假设正确吗?
我现在想知道:您如何找到/计算在虚拟机上运行的程序的实际执行时间?有什么想法吗?
【问题讨论】:
-
这似乎不是关于编程,而是关于虚拟机和 Linux
time命令。投票转为超级用户。 -
我可以自己移动吗?我认为这是相关的,因为我们很多人都在处理测量 Linux 上程序的执行时间。至少我们很多人在读研究生。
-
我不认为你可以自己移动它(除了在这里删除它并在那里发布)。如果你想移动它,你可以标记它以引起版主的注意。它与 SO 上的社区相关,但不幸的是,并非所有相关的内容都是这里的主题。 :)
-
我相信这取决于程序是否执行大量系统调用。我猜虚拟机上的系统调用比较慢。
标签: linux operating-system runtime virtual-machine