Virtualbox. Dodawanie procesorów w locie.

Nowoczesne systemy serwerowe wspierają możliwość dodawania i odejmowania procesorów w trakcie pracy. Mechanizm ten nazywa CPU hotplug i został też zaimplementowany do Virtualboxa.
Program potrafi dodawać lub odejmować procesory w już pracującej maszynie wirtualnej. Goszczące systemy z rodziny Linux wspierają w pełni ten mechanizm, to znaczy dodawanie (hot-add) i usuwanie procesów (hot-remove). Natomiast w przypadku Windows Server obecnie wspierane jest tylko dodawanie procesów. 

Możliwość skorzystania z CPU Hot-plugging należy zaplanować wcześniej dla danej maszyny ponieważ polecenia inicjujące zadziałają przy wyłączonej maszynie.
Aby go uaktywnić należy wydać poniższe polecenie:
VBoxManage modifyvm NazwaMaszyny --cpuhotplug onNatomiast teraz należy okreslic maksymalna ilośc procesorów dla maszyny wirtualnej, na przykład 6:
VBoxManage modifyvm NazwaMaszyny –cpus IloscProcesorow

I teraz już przy uruchomieniu maszynie, wpisując polecenia w konsoli gospodarza, możemy dodawać lub odejmować procesory. 
Aby dodać procesor wykonaj polecenie:
VBoxManage controlvm NazwaMaszyny  plugcpu NumerProcesoraAby odjąć procesor wykonaj polecenie: 
VBoxManage controlvm NazwaMaszyny unplugcpu NumerProcesora

Przy czym numer procesora zawiera się w przedziale od 0 do 5 jeśli zadeklarowaliśmy maksymalna liczne procesorów 6. Procesora z numerem 0 nie usuniesz.
Warto tu mieć też zainstalowane Dodatki Gościa ponieważ wśród wielu zalet tego pakietu jest też usługa, która pomaga zarządzać dodawanymi i usuwanymi procesorami. 
Uważaj też aby nie dodać zbyt wiele procesorów, ponieważ system gospodarza może zacząć “haczyć” i spowolni jeśli przydzielisz zbyt wiele tyle procesorów ( jeśli zbliżysz się do liczby rdzeni, które masz rdzeni fizycznie w komputerze).

Dodatkowo, kilka poleceń którymi możemy w konsoli sprawdzić informacje o procesorach pod systemem Linux:

  • lscpu
  • top 
  • nproc 
  • cat /proc/cpuinfo

A także, kilka sposobów którymi możemy sprawdzić informacje o procesorach pod systemem Windows:

  • Graficznie Task Manager (Menedżer zadań)
  • Graficznie – program CPU-Z
  • polecenie msinfo32
  • powershell WMIC CPU Get DeviceID,NumberOfCores,NumberOfLogicalProcessors

Dla przypomnienia,  jeśli teraz chcesz dodać lub odjąć procesor przy wyłączonej maszynie to skorzystaj z poleceń:VBoxManage modifyvm NazwaMaszyny plugcpu NumerProcesora
VBoxManage modifyvm  NazwaMaszyny unplugcpu NumerProcesora
Ewentualnie skorzystaj z interfejsu graficznego i menu Ustawienia/System/Procesor jeśli maszyna jest wyłączona.

Na koniec warto dodać, że można ustawić więcej procesorów niż mamy fizycznych rdzeni, jednak to raczej obniży wydajność.


Jeśli interesujesz się tematem Virtualboxa to zapraszam Cię do kursu Virtualbox w praktyce – tam poznasz szczegółowo wszystkie najważniejsze zagadnienia programu.
Natomiast jeśli chcesz zautomatyzować swoje maszyny wirtualne to kurs Vagrant w praktyce jest właśnie dla Ciebie.