虛擬機報告不同類型的使用指標(biāo),例如服務(wù)器負(fù)載、內(nèi)存使用和Steal Time。客戶經(jīng)常詢問Steal Time——它是什么,為什么會在他們的虛擬機上報告?繼續(xù)閱讀,我們將解釋Steal Time的工作原理,以更好地了解它對您的虛擬機意味著什么。
什么是Steal Time?
Steal Time是虛擬機進(jìn)程在物理CPU上等待其CPU時間的時間百分比。您可以通過在 linux 服務(wù)器上運行“top”命令來監(jiān)控進(jìn)程和資源使用情況。在使用指標(biāo)中,Steal Tim被標(biāo)記為“st”。
了解和解釋虛擬機上的 CPU Steal Time
虛擬環(huán)境中的 CPU
在云環(huán)境中,管理程序充當(dāng)物理服務(wù)器與其虛擬化環(huán)境之間的接口。管理程序內(nèi)核通過將運行進(jìn)程調(diào)度到服務(wù)器的物理內(nèi)核來管理所有這些任務(wù)。為虛擬機、網(wǎng)絡(luò)操作和存儲 I/O 請求等進(jìn)程提供一些CPU時間來處理作業(yè)。CPU時間在這些進(jìn)程之間分配,這會改變優(yōu)先級并在這些進(jìn)程之間通過物理內(nèi)核產(chǎn)生爭用。
%Idle Time
Steal Time也可以在虛擬機上與Idle Time一起顯示。Idle Time是指有管理程序分配的 CPU 時間,但虛擬機沒有使用該時間。在這種情況下,我們可以假設(shè)對性能根本沒有影響。
當(dāng)Idle Time百分比為0 并且存在Steal Time時,我們可以假設(shè)虛擬機上的進(jìn)程有延遲處理。
多租戶云
云平臺由單租戶和多租戶環(huán)境組成。CloudStack產(chǎn)品允許您開發(fā)和運行多租戶環(huán)境,使不同類型的用戶能夠以更低的成本運行他們的云基礎(chǔ)設(shè)施。除了不會在我們的優(yōu)質(zhì)CloudStack 平臺上過度銷售虛擬內(nèi)核之外,我們也不會將虛擬機固定到CPU 內(nèi)核。這允許管理程序?qū)?CPU 時間從所有服務(wù)器的物理內(nèi)核分配給其任何活動進(jìn)程。
從理論上講,如果虛擬機100%的時間都可以立即訪問其分配的核心,則不會有可見的Steal Time。然而,虛擬機管理程序正在運行許多不同的任務(wù),并不斷執(zhí)行操作,例如重新調(diào)度任務(wù)以提高效率和處理從其他系統(tǒng)接收到的數(shù)據(jù)。所有這些進(jìn)程都需要來自管理程序CPU 的 CPU 時間,從而導(dǎo)致延遲訪問物理內(nèi)核并增加虛擬機的Steal Time。
分析服務(wù)性能
在現(xiàn)代托管環(huán)境中,少量Steal Time通常是不可避免的,尤其是在共享云托管上運行時。Steal Time虛擬機體驗并不總是從虛擬化操作系統(tǒng)外部可見。
如果您看到虛擬機記錄的Steal Time恒定,請嘗試查找與您正在執(zhí)行的任務(wù)的相關(guān)性。更重要的是,這種Steal Time如何導(dǎo)致性能損失?您是否注意到應(yīng)用程序的任何性能損失?如果是這樣,請嘗試測量輸出以根據(jù)Steal Time發(fā)現(xiàn)整個應(yīng)用程序流中的延遲。如果您確實看到對您的應(yīng)用程序的體驗影響,請通知您的托管服務(wù)提供商。在許多情況下,他們可以通過將您的虛擬機移動到不同的虛擬機管理程序來找到更合適的環(huán)境。






