一位朋友詢問了一個命令,該命令可用於查找Linux中某個程序的實際系統執行時間 。我回復說,time
命令是一個偉大的。如果程序在虛擬機上運行,程序的系統執行時間是否更改?
然後他問,執行時間(通過time
)是虛擬機在查詢執行時間時返回的程序的時間,與程序的實際系統執行時間相同嗎?
我的直覺是說這取決於:
如果有機器上有足夠的資源,然後返回VM時間將是相同的真正/掛鐘時間程序執行。
如果系統沒有足夠的資源,那麼VM時間將會與真實(系統)執行時間大不相同。而且,虛擬機是一個位於操作系統之上的應用程序,它有自己的調度程序。這意味着虛擬機需要調用系統調用,然後由操作系統處理系統調用,然後與硬件進行通信,然後提供實際(系統)執行時間。因此,在這種情況下,返回的時間可能與實時不同。
如果執行的程序是簡單的,那麼VM時間可以等於實際(系統)時間。
如果執行的程序不是簡單的,那麼VM時間可能會有很大的不同。
我的假設是否正確?
我現在想知道:如何找到/計算在虛擬機上運行的程序的實際執行時間?有任何想法嗎?
這並沒有真正似乎是有關編程,而是關於虛擬機和Linux的'time'命令。投票轉移到超級用戶。 – 2014-10-01 04:10:17
我可以自己動一下嗎?我認爲這是相關的,因爲我們很多人都在測量Linux上的程序執行時間。至少我們很多人都在讀研究生。 – 2014-10-01 04:11:39
我不認爲你可以自己移動它(除了在這裏刪除它並在那裏發佈)。如果您希望它移動,您可以將其標記爲主持人注意。這與SO的社區有關,但不幸的是,並非所有相關內容都是關於主題的。 :) – 2014-10-01 04:12:53