VirtualBox VM 在增加 VM 分配給它的 CPU 數量後出現延遲

VirtualBox VM 在增加 VM 分配給它的 CPU 數量後出現延遲

我有一個在 Windows 10 上運行 Windows 10 的 VirtualBox VM。

我的主機規格:

Device name _______________
Processor   Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz   1.80 GHz
Installed RAM   8.00 GB (7.88 GB usable)
Device ID               ______________________________________
Product ID  ________________________
System type 64-bit operating system, x64-based processor
Pen and touch   Pen and touch support with 10 touch points

我的來賓虛擬機器規格是:

  • 記憶體:3040MB
  • 中央處理器:1個處理器
  • 執行上限: 100%
  • 顯存:256MB
  • 3D加速:啟用

我在我的來賓作業系統中安裝了 VirtualBox 的來賓附加元件。有了這些規格,它運行得相當流暢,但當我點擊電腦上的按鈕時,加載需要時間。當我將處理器數量更改為 3 時,它變得非常滯後。

在此輸入影像描述

如何提高虛擬機器的效能?

答案1

當我將處理器數量更改為 3 時,它變得非常滯後。

CPU 數量越多,Guest 速度就越慢

不,您沒有做錯任何事,是的,添加處理器會使來賓運行速度變慢。追蹤多處理器來賓中的指令需要 CPU 負載開銷,而且處理器越多,開銷就越大。

主機(i5 8GB)剛剛夠用,所以客戶機速度不會很快。

嘗試使用 2GB 作為訪客電腦進行測試。

檢查主機硬碟的速度。 5400-rpm 對於虛擬機器使用來說會非常慢。 7200-rpm 驅動器是可行的(我的 X230 有一個 7200-rpm 驅動器)。快速 SSD 就能很好地工作。我的生產 Thinkpad 有一個快速驅動器。

答案2

在評論中別處,VirtualBox 專家「mpack」寫道:

在現實生活中,許多操作都是磁碟綁定或網路綁定的。只有少數操作受 CPU 限制。

為虛擬機器創建的核心越多,這些核心造成的開銷就越大(由於上下文切換)。

在實踐中,理想的選擇通常是分配兩個核心到每個虛擬機器。

如果您需要全天執行 CPU 密集型任務(例如視訊編碼),請不要在虛擬機器中執行這些任務。在主機作業系統上運行它們:它們在那裡運行得更快。

答案3

我會檢查是否使用了適當的儲存驅動程式。據我所知,virtio 驅動程式尚未包含在 Windows 的 virtualbox 擴充功能中,因此您應該透過從 Fedora 專案安裝 iso 來單獨安裝它們。然後,您將能夠將提供現有虛擬硬碟的「控制器」從 SATA 切換到虛擬 I/O 裝置 SCSI。

Windows 10/11真正關心兩件事,儲存速度和可用RAM(至少高達8GB)。

因此,對於您的情況,我將使用以下規格: 記憶體:4096MB (在4GB 以下的RAM 上運行Windows 10 桌面發行版與在4GB 或更多RAM 上運行有本質上的不同(實際上會觸發一些不同的程式碼路徑)。它實際上處於“生存模式”,這使得它依賴其他資源,如CPU 和存儲更多而不是快取內容。

vCores: 2 (否則你的主機系統就會挨餓,它還必須保持虛擬機器的虛擬設備的運行,而一個核心肯定是不夠的,特別是當它與主機作業系統上的所有其他進程競爭時)

相關內容