Hyper-V İşlemci Sınırlamaları


14

Kısa bir süre önce Hyper-V 2008 R2 çıplak metal çalıştıran bir sunucu satın aldık. Sunucuda hiper iş parçacıklı iki adet dört çekirdekli Intel Xeon işlemci var, bu yüzden doğru anlıyorsam bu bize 16 çekirdek veriyor. Hyper-V içinde, 4 sanal işlemcili Windows Server 2008 R2 çalıştıran bir sanal makine oluşturduk. İşlemci ayarları ekranı, bunun toplam sistem işlem gücünün% 25'ini temsil ettiğini söylüyor. Bu, kalan% 75'inin sanal işletim sistemi tarafından kullanılamayacağı anlamına mı geliyor? Birkaç sanal makine daha çalıştıracağız, ancak bu SQL Server içindir ve mümkün olduğunca fazla beygir gücü atmak istiyoruz.


5
Bir makineye vCPU tahsisi konusunda son derece dikkatli olmak istiyorsunuz. Bu, sanal makinenin yürütülmeden önce aynı anda 4 fiziksel işlemci bulunana kadar beklemesi gerektiği anlamına gelir . Buraya
Holocryptic

6
Hyperthreading'e gelince, şu mükemmel astara bir göz atın: arstechnica.com/old/content/2002/10/hyperthreading.ars
16:11

4
Holocryptic, ifadeniz eski VMWare sistemleri için geçerliydi, ancak Hyper-V için hiç doğru olmadı. Hyper-V, sanal işlemcileri "toplu olarak programlamaz".
Jake Oshins

Yanıtlar:


15

Bir vCPU yalnızca tek bir fiziksel CPU ile eşlenebilir. 4 fiziksel CPU alıp 4 kat daha hızlı tek bir vCPU yapamazsınız; sadece nasıl çalıştığı değil.

Hyper-V, bir VM'ye 4 vCPU atamakla sınırlıdır (son kontrol ettim). Eğer önemli bir CPU gücü gerekiyorsa, bir şeye havai sanallaştırma ekleyerek de anlamı yok, fiziksel gitmek olduğunu CPU yoğun ve ilk etapta paralel.

Ayrıca, Holocryptic notları olarak, bir VM'ye 4 vCPU atarsanız, Hyper-V bunları çalıştırmak için 4 fiziksel CPU çekirdeği elde edene kadar VM çalışamaz. Yapılandırmanıza bağlı olarak, bu büyük bir tökezleme bloğu olabilir (örn. 4 vCPU VM'leri olan 6 çekirdekli bir makineniz varsa, her seferinde yalnızca bir tane çalışır, diğer iki çekirdek her zaman esasen kullanılmaz). Jake Oshins'e göre bu Hyper-V'nin herhangi bir sürümü için geçerli değildi. Hyper-V'nin CPU için toplu zamanlama kullanmadığını; neredeyse her hipervizörün yaptığı gibi. Buna göre, eğer bir phystical CPU çekirdeği varsa, Hyper-V çoklu CPU VM çalıştırmak için onu kullanabilir. (Ayrıca Hyper-V, NUMA bölümleme nedeniyle o anda mevcut olan tüm fiziksel çekirdekleri kullanamayabilir)

Yan not: SQL ilk etapta atabileceğiniz tüm çekirdekleri kullanmaz. Bu gerçekten sizin için kullanarak ve nasıl paralelleştirilebilir yük olduğunu şeye bağlıdır.


Katılıyorum, ancak sanal CPU'ların yükü neredeyse hiçbir şey değil ve nadiren devreye giriyor.
Nate

4
Chris, Holocryptic'in notu yanlış. Hyper-V, 4 VP VM'den bir sanal işlemci zamanlamadan önce 4 sanal CPU bulunana kadar beklemez. Hyper-V, bir sanal işlemciyi çalıştırmak için ücretsiz bir fiziksel işlemciye sahip olduğunda, birkaç uyarı ile zamanlar. Örneğin, VM'nin geri kalanıyla aynı fiziksel NUMA düğümü içindeki fiziksel işlemcileri arar.
Jake Oshins

3

Evet, Chris ne dedi. Hyper-V sanal makinede 4'ten fazla CPU'ya ihtiyacınız varsa, sanal olarak iki SQL sunucusu oluşturun ve veritabanlarınızı dağıtın veya fiziksel hale gelin. SQL sunucu lisansınıza bağlı olarak, daha fazla lisans maliyeti ortaya çıkmadan sanal (aynı fiziksel ana bilgisayarda) daha fazla SQL sunucusu ekleyebilirsiniz, ancak daha fazla bilgi için SQL sanal lisanslama teknik incelemesini okuyun.

Ayrıca 4 sanal CPU ile CPU gücünüz tükeniyorsa, bazı ciddi uygulama kullanımınız olduğunu veya SQL komutlarının kötü yazıldığını kabul ediyorum.


1
Re: "... ya da SQL komutları kötü yazılmış." Bu, satıcı tarafından sağlanan kod oynatıldığında neredeyse garantilidir.
Skyhawk

Aslında, çoğu veritabanı trafiği ERP sistemimizden OLTP şeyleridir. Aynı tedarikçiden bir iş akışı sistemimiz de var. Şirket içinde yazılan özel şeyler küçük bir yüzdedir.
Scott

Eski veritabanımız 4 mantıksal çekirdek (iki çift çekirdekli CPU) üzerinde çalışıyor, bu yüzden bundan daha fazlasına ihtiyacımız var.
Scott

0

Yaklaşık 4 CPU çekirdek sınırı:

VM'nin yapılandırma dosyası bölümünde:

[işlemci] [sayım tipi = ”tamsayı”] 16 [/ sayım]

Şimdi 16 çekirdekli CPU'nuz var.

GÜNCELLEME: Ekran görüntüsü gerekiyor gibi görünüyor

resim açıklamasını buraya girin


0

bu kılavuzu takip et

http://surminski.eu/2012/04/17/hyper-v-how-to-add-more-than-4-cores-to-a-virtual-machine/

vm xml yapılandırma dosyasını VM'nin VHD dizininin "Sanal Makineler" dizininin altında bulabilirsiniz, yapılandırma dosyası VM'nin kimliği altında adlandırılır. Aşağıdaki bağlantı bir referanstır.

başvuru: VM xml yapılandırma dosyası

VM xml yapılandırma dosyasını yönetici ayrıcalıkları altında notepad / notepad ++ açık olarak düzenlediğinizden emin olun

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.