Mam czterordzeniowy procesor i7 z hipertekstem (8 rdzeni logicznych), kiedy skonfigurowałem maszynę wirtualną do korzystania z 8 procesorów, VirtualBox dał mi ostrzeżenie, że mam tylko cztery rdzenie (co jest prawdą) i że może to spowodować Problem z wydajnością. Ale hiperwątkowość jest funkcją sprzętową, więc system operacyjny widzi 8 rdzeni i wysyła instrukcje do wszystkich 8. Co jeśli ustawienie na 4 spowoduje, że VM użyje 2 rdzeni (4 wątków) zamiast 4 równoczesnych wątków (na wszystkich 4 rdzeniach) )? Czy ostrzeżenie, które dostałem, uwzględnia fakt, że moja maszyna ma hiperwątkowość?
10
Przekonałem się, że chociaż możliwe jest (i prawdopodobnie szybsze) w VirtualBox (moje doświadczenie z wersją 5.1.0) przydzielanie procesorów wirtualnych do maszyny wirtualnej opartej na procesorach logicznych, podczas pracy z dużym obciążeniem mogą wystąpić problemy w systemie operacyjnym gościa . W moim przypadku maszyna wirtualna z systemem Windows 2012 R2 z 12 procesorami vCPU na 8-rdzeniowym hoście Ubuntu 16.04 (który zgłasza 16 procesorów logicznych) będzie BSOD podczas dużego obciążenia procesora z komunikatem o błędzie DPC_WATCHDOG_VIOLATION. Analiza minidump przy użyciu osronline.com wykazała, że przyczyną błędu jest e1g6032e.sys (sterownik sieciowy Intel 100/1000 natywny dla systemu Windows).
To prowadzi mnie do przekonania, że na alokację vCPU w oparciu o logiczną moc procesora i działanie maszyny wirtualnej przy dużym obciążeniu przez dłuższy czas ma negatywny wpływ na czas w systemie-gościu. W moim przypadku 100% obciążenia procesora w maszynie wirtualnej systemu Windows przez kilka minut spowodowałoby BSOD. Po zmniejszeniu liczby vCPU do 8 (co odpowiada fizycznej liczbie rdzeni hosta), maszyna wirtualna z systemem Windows przestaje BSOD już w podobnych sytuacjach dużego obciążenia. Dokumentacja online VirtualBox mówi, że należy to zrobić, ale nie podaje żadnych powodów.
W moim środowisku działały również dwie inne maszyny wirtualne Ubuntu, każda z 8 własnymi vCPU. Obciążenie ich było jednak minimalne w czasie problemów BSOD maszyny wirtualnej z systemem Windows.
źródło
Czy ostrzeżenie, które dostałem, uwzględnia fakt, że moja maszyna ma hiperwątkowość?
Tak. Jeśli liczba rdzeni w maszynie wirtualnej zostanie ustawiona na wartość wyższą niż liczba, którą fizycznie masz, proces planowania zadań w Virtual Box ponad zatwierdza zasoby procesora, co prowadzi do poważnych problemów z wydajnością.
Jeśli chodzi o rozkład obciążenia na rdzenie, to jest zadanie systemu operacyjnego hosta i powinien on zachowywać się we właściwej rezydencji.
źródło
Czy to była maszyna wirtualna oryginalna na twoim komputerze? Czasami otrzymasz dziwne błędy, jeśli sklonujesz maszynę wirtualną i przeniesiesz ją na inną maszynę i / lub zmienisz ustawienia.
Polecam pobranie i zainstalowanie najnowszej wersji Virtual Box z najnowszymi rozszerzeniami.
Złożyłem wszystkie osiem rdzeni i nie otrzymuję tego błędu w moim i7 z maszyną wirtualną z systemem Ubuntu 13.10.
źródło