Hiper iş parçacıklı dört çekirdekli ana bilgisayar, VirtualBox'ta kaç işlemci yapılandırılacak?


10

Hiper iş parçacıklı (8 mantıksal çekirdek) dört çekirdekli bir i7 işlemcim var, 8 işlemciyi kullanmak için bir sanal makine yapılandırdığımda, VirtualBox bana sadece dört çekirdeğe (doğru) ve bir nedene neden olabileceğini söyleyerek bir uyarı verdi performans sorunu. Ancak hiper iş parçacığı oluşturma bir donanım özelliğidir, bu nedenle işletim sistemi 8 çekirdeği görür ve tüm 8'e talimatlar gönderir. Ya 4'e ayarlanırsa, VM'nin 4 eşzamanlı iş parçacığı yerine (4 çekirdeğin tümünde) 2 çekirdek (4 iş parçacığı) kullanmasına neden olursa )? Makinemde hiper iş parçacığı bulunduğunu dikkate aldığım uyarı var mı?

Yanıtlar:


9

Kristian Wedberg tarafından yapılan karşılaştırmaya dayanarak, sahip olduğunuz tüm mantıksal çekirdekleri kullanmanız gerektiğini söyleyebilirim.
Ayrıca, çok iş parçacıklı uygulamalar için performans artışını doğrulayan aynı CPU'yu (i7, HT ile 4 CPU) kullanarak kendi ölçütümü yaptım. Konuk PC (Win. 8.1 x64) 8 çekirdeğin tümünü kullandıysa, ana bilgisayar (Ubuntu x64) 8 çekirdeğin tümünü de kullandı.

resim açıklamasını buraya girin

Tek iş parçacıklı uygulamalardaki performansı da karşılaştırdım. Her iki durumda da aynı değerleri ölçtüm, bu yüzden fiziksel (ama mantıksal) sayıdan fazla CPU kullanan bir ceza yok.
Burada konuk PC'de 1 CPU tam yükünün ana bilgisayarda 1 CPU yüküne neden olacağını görebilirsiniz.

resim açıklamasını buraya girin


Kabul. 4 çekirdek kullanıyordum ve projemi oluştururken sadece% 50 CPU zaman aldığını gördüm. Daha sonra uyarıya rağmen, mantıksal çekirdeklerin sayısı olan 8'e değiştirdim, yapı% 100 CPU zamanı alıyordu ve öncekinden daha hızlı çalıştığına inanıyorum.
Deqing

Bu oldukça ilginç, Linux'un özellikle verimliliği artırmak için her fiziksel HT çekirdeğinden 1 mantıksal çekirdeğe yükü odaklamaya çalıştığını okuduğumu hatırlıyorum. Konuk Linux çekirdeğinin CPU'nun hiper iş parçacıklı olduğunu görüp görmeyeceğini ve zamanlamasını bu tür bir yapılandırma için optimize edip etmediğini merak ediyorum.
Anthony

8

VirtualBox (deneyimim sürüm 5.1.0 ile) mantıksal işlemcilere dayalı bir sanal makineye vCPU ayırmak mümkün olsa da (ve muhtemelen daha hızlı), yüksek yükte çalışırken konuk işletim sistemi içinde sorunlarla karşılaşabileceğini buldum . Benim durumumda, 8 çekirdekli bir Ubuntu 16.04 ana bilgisayarında (16 mantıksal işlemciyi bildiren) 12 vCPU'lu bir Windows 2012 R2 VM'si, yüksek CPU yükü sırasında DPC_WATCHDOG_VIOLATION hata iletisiyle BSOD olur. Osronline.com kullanarak bir mini döküm analizi, e1g6032e.sys dosyasının (Windows'a özgü Intel 100/1000 ağ sürücüsü) ihlalin nedeni olduğunu gösterdi.

Bu, mantıksal işlemci kapasitesine göre vCPU'ları tahsis ederken ve VM'yi uzun süreler boyunca yüksek yükte çalıştırırken konuk işletim sistemi içindeki zamanlamanın olumsuz etkilendiğine inanmamı sağlıyor. Benim durumumda, birkaç dakika boyunca Windows VM içindeki% 100 CPU yükü BSOD ile sonuçlanır. VCPU sayısını 8'e (ana bilgisayarın fiziksel çekirdek sayısına karşılık gelir) indirdikten sonra, Windows VM benzer yüksek yük durumlarında artık BSOD yapmaz. Online belgeler VirtualBox itibaren bir yapmalısınız diyor, ama herhangi bir neden sunmuyor.

Benim çevremde, her biri kendi 8 vCPU'lu iki Ubuntu VM daha vardı. Bununla birlikte, Windows VM'nin BSOD sorunları sırasında yükleri asgari düzeydeydi.


Müthiş cevap (kaynaklarla birlikte), teşekkürler! Birkaç yıl geç, ama şimdi biliyorum :)
Anthony

2

Makinemde hiper iş parçacığı bulunduğunu dikkate aldığım uyarı var mı?

Evet. Bir VM'deki çekirdek sayısını fiziksel olarak sahip olduğunuz sayıdan daha büyük bir değere ayarlarsanız, Virtual Box'daki görev zamanlama işlemi CPU kaynaklarını işler ve büyük performans sorunlarına yol açar.

Yükü çekirdekler arasında dağıtmakla ilgili olarak, bu ana işletim sisteminin işi ve doğru malikanede davranmalıdır.


4
İfadelerinizi destekleyecek verileriniz var mı? Birisi envobi.com/post/virtualbox-hyper-threading-benchmark-surprise araştırma yaptı ve Virtual Box CPU sayısının mantıksal CPU sayısına ayarlanmasını tavsiye ediyor .
Maxim Egorushkin

0

Bu, makinenize orijinal bir VM miydi? Bazen bir VM'yi kopyalar ve başka bir makineye taşır ve / veya ayarları değiştirirseniz tuhaf hatalar alırsınız.
En son uzantılara sahip Virtual Box'ın en son sürümünü indirip yüklemenizi öneririz.

Sekiz çekirdeğin hepsini yaptım ve bu hatayı Ubuntu 13.10 ile bir VM çalıştıran i7 ile almıyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.